繁体   English   中英

SQL Server:ALTER与添加新列

[英]SQL Server: ALTER with ADD new column

我在SQL Server中有以下语句:

ALTER TABLE [dbo].[TruckTbl] 
ADD [TruckState] [bit] NULL DEFAULT 0;

这将使任何新记录默认为0。

对于现有记录,我如何在语句中说出来也将其默认设置为0。

我知道我可以去做更新,但是无论如何要在上面的ALTER语句中进行更新?

使用WITH VALUES子句

 ALTER TABLE [dbo].[TruckTbl] ADD [TruckState] [bit] NULL DEFAULT 0 WITH VALUES;

尽管我同意其他答案,但如果将所有现有行设置为0并为将来的插入设置默认值,则该列应该为空,这似乎很奇怪。 您是否曾经需要在此处允许NULL作为列值?

ALTER TABLE {TABLENAME} 
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} 
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
[WITH VALUES]

例如

ALTER TABLE Temp
ADD ID int NOT NULL DEFAULT(1)

暂无
暂无

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

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