如何将具有默认值的列添加到SQL Server 2000/SQL Server 2005中的现有表中?


当前回答

这适用于SQL Server:

ALTER TABLE TableName
ADD ColumnName (type) -- NULL OR NOT NULL
DEFAULT (default value)
WITH VALUES

例子:

ALTER TABLE Activities
ADD status int NOT NULL DEFAULT (0)
WITH VALUES

如果要添加约束,请执行以下操作:

ALTER TABLE Table_1
ADD row3 int NOT NULL
CONSTRAINT CONSTRAINT_NAME DEFAULT (0)
WITH VALUES

其他回答

ALTER TABLE MYTABLE ADD MYNEWCOLUMN VARCHAR(200) DEFAULT 'SNUGGLES'

或者,可以添加默认值,而不必显式命名约束:

ALTER TABLE [schema].[tablename] ADD  DEFAULT ((0)) FOR [columnname]

如果在创建此约束时存在现有默认约束的问题,则可以通过以下方式删除这些约束:

alter table [schema].[tablename] drop constraint [constraintname]

添加可为空的列时,WITH VALUES将确保将特定的DEFAULT值应用于现有行:

ALTER TABLE table
ADD column BIT     -- Demonstration with NULL-able column added
CONSTRAINT Constraint_name DEFAULT 0 WITH VALUES

SQL Server+更改表+添加列+默认值uniqueidentifier。。。

ALTER TABLE [TABLENAME] ADD MyNewColumn INT not null default 0 GO
ALTER TABLE <table name> 
ADD <new column name> <data type> NOT NULL
GO
ALTER TABLE <table name> 
ADD CONSTRAINT <constraint name> DEFAULT <default value> FOR <new column name>
GO