【问题标题】:Alter default value of column in mssql [duplicate]更改 mssql 中列的默认值 [重复]
【发布时间】:2021-10-18 16:11:38
【问题描述】:

我需要更改很多表的排序规则,包括这些表的所有列。我已经编写了一条 sql 语句,它为我生成了这些更改命令。所以例如我得到:

ALTER TABLE [TABLE] ALTER COLUMN [COLUMN] nchar(1  ) COLLATE Latin1_General_CI_AS not null default 'y'

但是我得到一个错误,关于最后的默认值。如何在上面的语句中加入默认约束?

提前致谢。

【问题讨论】:

  • defaultcreate table 的一个选项
  • 你得到什么错误?
  • 您不能在ALTER TABLE 语句中更改列的DEFAULT 值。请参阅文档的syntax 部分。你必须DROPCONSTRAINTs(如果它已经存在)和(重新)CREATE他们。我希望你命名你的默认值约束,如果它们已经存在的话。

标签: sql sql-server alter


【解决方案1】:

Alter table 没有提供默认约束的选项,因此您必须发出两个命令;你先到alter这个列,然后你就可以创建它的默认约束了:

alter table [Table] add constraint DF_ColumnName default 'y' for [column];

【讨论】:

  • 感谢您的快速回复。我想删除所有表并生成创建表语句更容易。无论如何,这解决了问题:)
猜你喜欢
  • 2018-03-08
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-03
  • 1970-01-01
  • 2014-10-22
相关资源
最近更新 更多