如何更改sql server中的默认列值
Posted
技术标签:
【中文标题】如何更改sql server中的默认列值【英文标题】:How to change the Default Column value in sql server 【发布时间】:2014-10-01 07:45:45 【问题描述】:在更改表格时,我将“1”设为默认值。现在我需要重置默认值“0”。我尝试了以下脚本,但它引发了错误。
ALTER TABLE Order ADD Cancel BIT CONSTRAINT [DF_Order_Cancel] DEFAULT ((1)) NOT NULL;
这里我需要将默认值重置为“0”而不是“1”。
我尝试了下面的脚本,但它仍然抛出错误。
ALTER TABLE Order ADD DEFAULT (0) FOR Cancel
【问题讨论】:
您应该提供给定的错误。 “TABLE”约束定义的语法不正确。 【参考方案1】:首先,删除约束。
alter table Order drop constraint DF_Order_Cancel
然后重新创建它。
ALTER TABLE Order ADD DEFAULT 0 FOR Cancel
编辑:以下语句运行良好。
ALTER TABLE Order ADD Cancel BIT CONSTRAINT [DF_Order_Cancel] DEFAULT ((1)) NOT NULL;
alter table Order drop constraint DF_Order_Cancel
ALTER TABLE Order ADD DEFAULT 0 FOR Cancel
【讨论】:
我放弃了约束并尝试更改默认值,但没有发生... 我还有一些错误...列已经绑定了一个 DEFAULT。 有时我会这样解决方案是什么 你试过我的3行代码了吗?或者至少是 #2 和 #3? 我试过了,这很好,感谢您的回答..但我的条件很少没有限制它在那里......我已经发布在上面所以在这种情况下我怎么能解决这个问题。 【参考方案2】:您需要获取约束名称。执行下面的代码,在结果中可以看到约束名称。
sp_helpconstraint tableName
获得约束名称后,您可以使用此代码更改列的默认值:
alter table tableName
drop constraint constraintName
go
alter table tableName
add constraint df_tableName_columnName default 0 for columnName
go
【讨论】:
以上是关于如何更改sql server中的默认列值的主要内容,如果未能解决你的问题,请参考以下文章