【发布时间】:2013-10-04 14:52:14
【问题描述】:
我正在尝试使用以下 T-SQL 向 SQL Server 中的现有字段添加默认约束:
alter table Extra 添加约束 DF_Extra_ExternalRef DEFAULT ('*') for 带值的外部引用
这会添加默认约束,但无法使用空值更新现有记录。
我使用的是 SQL Server 2005。
【问题讨论】:
标签: sql-server tsql
我正在尝试使用以下 T-SQL 向 SQL Server 中的现有字段添加默认约束:
alter table Extra 添加约束 DF_Extra_ExternalRef DEFAULT ('*') for 带值的外部引用
这会添加默认约束,但无法使用空值更新现有记录。
我使用的是 SQL Server 2005。
【问题讨论】:
标签: sql-server tsql
我只见过WITH VALUES 在添加新列时以这种方式使用(这是all that is documented)。如果您要向现有列添加约束,我认为WITH VALUES 是无操作的。因此:
ALTER TABLE dbo.Extra ADD CONSTRAINT DF_Extra_ExternalRef
DEFAULT ('*') FOR ExternalRef;
UPDATE dbo.Extra SET ExternalRef = '*' WHERE ExternalRef IS NULL;
【讨论】: