如何在MSSQL的所有数据库中将所有位类型列NULL值更改为false?

Ser*_*yan 7 sql-server null false-positive multiple-columns

我有一个数据库,我有很多位类型列.添加其他列后,我需要所有旧列具有默认的"false"值.

Lit*_*les 19

要将每个旧列更新为0,您可以使用此查询(逐列):

UPDATE MyTable
SET OldCol1 = 0
WHERE OldCol1 IS NULL
Run Code Online (Sandbox Code Playgroud)

然后,如果您希望任何将来的值也具有默认值0,请使用:

ALTER TABLE MyTable
ALTER COLUMN OldCol1 bit NOT NULL

ALTER TABLE MyTable
ADD CONSTRAINT OldCol1ShouldBeFalse DEFAULT 0 FOR OldCol1
Run Code Online (Sandbox Code Playgroud)

现在,你必须针对每个旧列运行此操作,所以希望你没有太多.