我有一个表,我想添加一个位列,我希望所有现有数据默认为false.
如何更改我的表,以便在我为现有行插入false之前允许我指定NOT NULL?
我应该将其创建为可空的,执行插入操作而不是将其置为不可空的吗?
Rob*_*tie 50
您可以添加列并提供要用于所有现有行的默认值.
ALTER TABLE foo
ADD bar bit
DEFAULT 0 NOT NULL;
Run Code Online (Sandbox Code Playgroud)
作为列出的答案的替代方案,还有另一种语法可能更适合某些人,例如,如果您使用“ReadyRoll”等工具。
ALTER TABLE [dbo].[FOO] ADD BAR bit NOT NULL CONSTRAINT [df_Bar] DEFAULT 0
Run Code Online (Sandbox Code Playgroud)
查看这个 SO 答案,了解为什么命名约束(df_Bar
上述)很好。