使用值向现有字段添加默认约束

时间:2013-10-04 14:52:14

标签: sql-server tsql

我正在尝试使用以下T-SQL向SQL Server中的现有字段添加默认约束:

  

alter table额外添加约束DF_Extra_ExternalRef DEFAULT('*')for   ExternalRef值为

这会添加默认约束,但无法使用空值更新现有记录。

我正在使用SQL Server 2005。

1 个答案:

答案 0 :(得分:4)

我在添加新列时只看到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;