寻找正确的 sql 语法以将默认值添加到现有表
Posted
技术标签:
【中文标题】寻找正确的 sql 语法以将默认值添加到现有表【英文标题】:Looking for correct sql syntax to add default values to existing table 【发布时间】:2012-02-02 13:32:11 【问题描述】:编辑:有没有办法检查约束是否已经存在以确定是否需要先删除它?
我构建了一系列表,并在添加新记录时在两列中将默认值设置为“True”。
似乎将添加约束,代码行如下所述,但它不会在绑定中创建默认值“True”。
问题:
我正在尝试更改 SQL Express 2008 中现有列的默认值
ALTER TABLE [dbo].[tblLangtrTR] ADD CONSTRAINT [DF_tblLangtrTR_displayRecord_1] DEFAULT (N'True') FOR [displayRecord]
使用上面的代码我得到这个错误....
消息 2714,第 16 级,状态 5,第 2 行 数据库中已经有一个名为“DF_tblLangtrTR_displayRecord_1”的对象。 消息 1750,第 16 级,状态 0,第 2 行 无法创建约束。查看以前的错误。
【问题讨论】:
【参考方案1】:IF EXISTS(SELECT *
FROM sys.default_constraints
WHERE name = 'DF_tblLangtrTR_displayRecord_1'
AND parent_object_id = object_id('dbo.tblLangtrTR'))
ALTER TABLE dbo.tblLangtrTR DROP CONSTRAINT
[DF_tblLangtrTR_displayRecord_1]
ALTER TABLE dbo.tblLangtrTR ADD CONSTRAINT [DF_tblLangtrTR_displayRecord_1]
DEFAULT (N'True') FOR [displayRecord]
【讨论】:
以上是关于寻找正确的 sql 语法以将默认值添加到现有表的主要内容,如果未能解决你的问题,请参考以下文章
sqlserver 下 修改表的某个字段默认值语法是怎么样的