无法在SQL Server中的现有列中分配默认约束
我正在使用SQL Server,有一个表无法在SQL Server中的现有列中分配默认约束,sql,sql-server,alter-table,Sql,Sql Server,Alter Table,我正在使用SQL Server,有一个表Employee。我想将开始日期的约束从NULL更改为notnull,并使用GETDATE()函数添加一个DEFAULT。请检查屏幕截图并建议如何解决我得到的错误: 尝试使用此TSQL命令添加,非空约束 ALTER TABLE [dbo].[Employee] ALTER COLUMN [Starting_Date] DataTime NOT NULL; UPDATE [dbo].[Employee] SET Starting_Date = [dbo].
Employee
。我想将开始日期的约束从NULL
更改为notnull
,并使用GETDATE()
函数添加一个DEFAULT
。请检查屏幕截图并建议如何解决我得到的错误:
尝试使用此TSQL
命令添加,非空约束
ALTER TABLE [dbo].[Employee] ALTER COLUMN [Starting_Date] DataTime NOT NULL;
UPDATE [dbo].[Employee] SET Starting_Date = [dbo].[GetDate]() WHERE Starting_Date = NULL;
如果您的表中有任何起始日期为空的行,请在添加约束之前运行此查询
ALTER TABLE [dbo].[Employee] ALTER COLUMN [Starting_Date] DataTime NOT NULL;
UPDATE [dbo].[Employee] SET Starting_Date = [dbo].[GetDate]() WHERE Starting_Date = NULL;
然后,对于函数输出结果中的默认约束
ALTER TABLE [dbo].[Employee]
ADD CONSTRAINT df_Starting_Date
DEFAULT([dbo].[GetDate]())FOR Starting_Date;
尝试使用此TSQL
命令添加,notnull约束
ALTER TABLE [dbo].[Employee] ALTER COLUMN [Starting_Date] DataTime NOT NULL;
UPDATE [dbo].[Employee] SET Starting_Date = [dbo].[GetDate]() WHERE Starting_Date = NULL;
如果您的表中有任何起始日期为空的行,请在添加约束之前运行此查询
ALTER TABLE [dbo].[Employee] ALTER COLUMN [Starting_Date] DataTime NOT NULL;
UPDATE [dbo].[Employee] SET Starting_Date = [dbo].[GetDate]() WHERE Starting_Date = NULL;
然后,对于函数输出结果中的默认约束
ALTER TABLE [dbo].[Employee]
ADD CONSTRAINT df_Starting_Date
DEFAULT([dbo].[GetDate]())FOR Starting_Date;