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

推荐答案

差不多,是的,换一张桌子

您也可以在一个步骤中为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')

正如您所指出的,如果没有提供名称,系统将生成一个名称.MSDN表示,CONSTRAINT constraint_name是可选的.这同样适用于任何columntable约束

Edit

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

Sql相关问答推荐

GROUP BY与多个嵌套查询T—SQL

如果开始期间不存在PostgresSql回填数据

SQL基于多个值 Select 单行

PostgreSQL中的合并命令是原子的,还是需要一些类似于SQL Server版本的内容?

如何隐藏聚合JSON数组元素的键

数据库SQL PARSE_SYNTAX_ERROR

明细表中没有记录如何更新主表的值为0

用VB.NET在Dapper中实现MS Access数据库顺序透视

更正用于判断错误组合的SQL

使用特定的Order By子句随机化SQL输出

将时间范围划分为全天和前后剩余小时

使用 XML 作为 SQL 表

通过ID和数据找到每个不同的值

Postgresql 生成器列导致语法错误

错误:postgresql 中缺少表评级的 FROM 子句条目

如何从postgresql中的项目映射(关联数组)设置值?

每个ID的SQL返回可能的最低级别及其值

Oracle函数中无法动态迭代创建的SYS_REFCURSOR

插入行时的行安全策略问题

Select 给定类别列表(或更多类别)中的所有事物