【问题标题】:How to add a default value to an already existing column?如何将默认值添加到已经存在的列?
【发布时间】:2011-03-04 17:42:55
【问题描述】:

我的 SQL Server 数据库中有一个现有列。我已经尝试了所有我能想到的方法,但无法将默认值添加到列中。在所有其他数据库中有效的是

alter table mytable 
  alter column mycolumn set default(now()) --mycolumn is a datetime

如何在 SQL Server 中执行此操作?

我得到的确切语法的错误是incorrect syntax near the keyword 'set'

【问题讨论】:

    标签: sql sql-server tsql alter-table default-constraint


    【解决方案1】:

    用途:

    ALTER TABLE dbo.mytable
    ADD CONSTRAINT def_mycolumn DEFAULT GETDATE() FOR mycolumn
    

    欲了解更多信息,请参阅:Working with Default Constraints

    【讨论】:

    • @Earlz:看到了,非常感谢 :)
    【解决方案2】:

    如果您想更改已存在列的默认值。您需要先删除约束,然后重新添加约束,如下所示

    ALTER TABLE <TABLE> 
    DROP CONSTRAINT <CONSTRAINT NAME>
    
    ALTER TABLE <TABLE> 
    ADD CONSTRAINT <CONSTRAINT NAME> DEFAULT <VALUE> for <COLUMN>
    

    如果您没有表的约束详细信息,可以使用以下查询

    sp_helpconstraint <TABLE>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 2020-10-16
      • 2016-04-10
      • 2021-02-21
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多