【问题标题】:Command for adding a default constraint添加默认约束的命令
【发布时间】:2011-05-17 11:08:10
【问题描述】:

似乎至少有两种方法可以使用直接 T-SQL 添加默认约束。我是否正确,以下两者之间的唯一区别是第二种方法专门为约束创建了一个名称,而第一种方法有一个由 SQL Server 生成的名称?

ALTER TABLE [Common].[PropertySetting] ADD DEFAULT ((1)) FOR [Active];
ALTER TABLE [Common].[PropertySetting] ADD CONSTRAINT [DF_PropertySetting_Active) DEFAULT ((1)) FOR [Active];

【问题讨论】:

    标签: sql sql-server tsql default-constraint


    【解决方案1】:

    差不多,对于 ALTER TABLE 来说是的

    您也可以在一步中为 CREATE 或 ALTER 添加默认列。

    ALTER TABLE foo ADD bar varchar(100) CONSTRAINT DF_Foo_Bar DEFAULT ('bicycle')
    ALTER TABLE foo ADD bar varchar(100) DEFAULT ('bicycle')
    

    如您所述,如果未提供名称,系统会生成一个名称。 CONSTRAINT constraint_name 是可选的,说 MSDN。这同样适用于任何columntable CONSTRAINT

    编辑 如果该列已创建,并且您只想添加约束,请使用:

    ALTER TABLE TableName ADD CONSTRAINT DF_Foo_Bar DEFAULT 'bicycle' FOR FieldName;
    

    【讨论】:

    • 我可以使用生成的名称代替DF_Foo_Bar,即使该列已经存在?
    猜你喜欢
    • 2016-07-08
    • 2020-12-11
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多