用于添加默认约束的命令


81

似乎至少有两种方法可以使用直接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];

Answers:


104

几乎可以,对于ALTER TABLE

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

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

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

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

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

3
DF_Foo_Bar即使列已存在,我也可以使用生成的名称代替吗?
slartidan '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.