如何將具備默認值的列添加到SQL Server 2000 / SQL Server 2005中的現有表中? spa
最基本的版本只有兩行 code
ALTER TABLE MyTable ADD MyNewColumn INT NOT NULL DEFAULT 0
另外,您能夠添加默認值而沒必要顯式命名約束: ip
ALTER TABLE [schema].[tablename] ADD DEFAULT ((0)) FOR [columnname]
若是在建立此約束時現有的默認約束存在問題,則能夠經過如下方式將其刪除: get
alter table [schema].[tablename] drop constraint [constraintname]
ALTER TABLE MYTABLE ADD MYNEWCOLUMN VARCHAR(200) DEFAULT 'SNUGGLES'
當您要添加的列具備NOT NULL
約束但沒有DEFAULT
約束(值)時要小心。 若是表中有任何行,則ALTER TABLE
語句在這種狀況下將失敗。 解決方案是重新列中刪除NOT NULL
約束,或者爲其提供DEFAULT
約束。 it
例: io
ALTER TABLE [Employees] ADD Seniority int not null default 0 GO