1

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

alter table Extra add constraint DF_Extra_ExternalRef DEFAULT ('*') for ExternalRef with values

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

我正在使用 SQL Server 2005。

4

1 回答 1

5

我只见过WITH VALUES在添加新列时使用这种方式(这就是记录的全部内容)。如果您要向现有列添加约束,我认为WITH VALUES是无操作的。所以:

ALTER TABLE dbo.Extra ADD CONSTRAINT DF_Extra_ExternalRef 
  DEFAULT ('*') FOR ExternalRef;

UPDATE dbo.Extra SET ExternalRef = '*' WHERE ExternalRef IS NULL;
于 2013-10-04T14:58:24.223 回答