如何将具备默认值的列添加到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