似乎至少有两种方法可以使用直接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];
答案 0 :(得分:93)
非常,是的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')
如您所述,如果未提供名称,系统将生成名称。 MSDN是CONSTRAINT constraint_name
可选的。这同样适用于任何column或table CONSTRAINT
修改强> 如果列已经创建,并且您只想添加约束,请使用:
ALTER TABLE TableName ADD CONSTRAINT DF_Foo_Bar DEFAULT 'bicycle' FOR FieldName;