我使用MS SQL Server 2012的我有這個位SQL的:SQL Server爲什麼在某些環境中填充現有行中的新字段而不填充其他字段?
alter table SomeTable
add Active bit not null default 1
在某些環境中的默認值應用到現有行,在其他環境中,我們必須添加的更新腳本來設置新字段設置爲1.自然,我在考慮差別是SQL Server設置,但我迄今爲止的搜索沒有提示哪一個。有什麼建議麼?
讓我知道是否需要特定設置的值。
編輯:在不應用默認值的環境中,現有行設置爲0,它至少符合NOT NULL。
要添加到下面的答案中,您還可以將'with values'添加到'alter'以強制現有行更新爲默認值(如果其爲空)並跳過第二條語句。 – JiggsJedi
如果向表中添加「not null」列,它不會僅使用空值創建它。這不能是你正在運行的代碼。 –
它不會僅僅構成0的默認值。這必須是您的部署過程在SQL Server之外進行的其他工作。 –