繁体   English   中英

具有默认约束的数据库列

[英]Database column with default constraint

我正在创建一个这样的数据库列:

Alter table tablename
add column columnname null
add constraint df_columnname default 0

执行上述SQL后,新列将添加到具有空值的表中。

constraint df_cloumnname在这里没有意义吗?

请澄清一下..

如果您的列可以为 ,那么使用默认约束添加它不会产生任何影响 - 它可以为null,并且将保持为null。 在这种情况下, DEFAULT CONSTRAINT仅适用于正在添加的新行 (并且没有明确指定列的值)。

如果您的列是非NULL ,则会立即应用默认约束。

如果您正在使用SQL Server (您没有明确指定 - SQL查询语言 - 但不是数据库产品......),并且您希望具有默认约束的可空列并且您希望将值应用于现有行,使用以下语法:

ALTER TABLE dbo.tablename
ADD columnname NULL
  CONSTRAINT df_columnname DEFAULT 0 WITH VALUES

WITH VALUES添加到您的命令中,您应该得到所需的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM