【问题标题】:Add a default constraint to an existing field with values将默认约束添加到具有值的现有字段
【发布时间】:2013-10-04 14:52:14
【问题描述】:

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

alter table Extra 添加约束 DF_Extra_ExternalRef DEFAULT ('*') for 带值的外部引用

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

我使用的是 SQL Server 2005。

【问题讨论】:

    标签: sql-server tsql


    【解决方案1】:

    我只见过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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      • 2010-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多