我在SQL Server中有以下语句:
ALTER TABLE [dbo].[TruckTbl]
ADD [TruckState] [bit] NULL DEFAULT 0;这样做的目的是将所有新记录默认为0。
对于现有的记录,我如何在语句中获取和声明,并将其缺省为0。
我知道我可以去做一个更新,但是在上面的ALTER语句中的update中做什么呢?
发布于 2012-02-18 00:54:46
使用WITH VALUES子句
ALTER TABLE [dbo].[TruckTbl] ADD [TruckState] [bit] NULL DEFAULT 0 WITH VALUES;尽管我同意另一个答案,但如果您将所有现有行都设置为0并为将来的插入设置了默认值,那么该列就可以为空,这似乎很奇怪。您是否需要在这里允许NULL作为列值?
发布于 2015-12-22 22:52:54
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)https://stackoverflow.com/questions/9332262
复制相似问题