用于添加默认约束的命令

Ran*_*der 79 sql t-sql sql-server default-constraint

似乎至少有两种方法可以使用直接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];
Run Code Online (Sandbox Code Playgroud)

gbn*_*gbn 99

差不多,是的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')
Run Code Online (Sandbox Code Playgroud)

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

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

ALTER TABLE TableName ADD CONSTRAINT DF_Foo_Bar DEFAULT 'bicycle' FOR FieldName;
Run Code Online (Sandbox Code Playgroud)

  • 即使列已经存在,我可以使用生成的名称而不是`DF_Foo_Bar`吗? (3认同)