【问题标题】:How to change the Default Column value in sql server如何更改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”约束定义的语法不正确。

标签: sql default


【解决方案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

【讨论】:

    猜你喜欢
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 2011-04-14
    • 2012-07-03
    相关资源
    最近更新 更多