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


当前回答

这可以通过以下代码完成。

CREATE TABLE TestTable
    (FirstCol INT NOT NULL)
    GO
    ------------------------------
    -- Option 1
    ------------------------------
    -- Adding New Column
    ALTER TABLE TestTable
    ADD SecondCol INT
    GO
    -- Updating it with Default
    UPDATE TestTable
    SET SecondCol = 0
    GO
    -- Alter
    ALTER TABLE TestTable
    ALTER COLUMN SecondCol INT NOT NULL
    GO

其他回答

试试这个

ALTER TABLE Product
ADD ProductID INT NOT NULL DEFAULT(1)
GO

Use:

ALTER TABLE {TABLENAME} 
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} 
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}

参考:ALTER TABLE(Transact-SQL)(MSDN)

如果默认值为Null,则:

在SQL Server中,打开目标表的树右键单击“列”==>新建列键入列“名称”,选择“类型”,然后选中“允许空值”复选框在菜单栏中,单击“保存”

完成!

Use:

-- Add a column with a default DateTime  
-- to capture when each record is added.

ALTER TABLE myTableName  
ADD RecordAddedDate SMALLDATETIME NULL DEFAULT (GETDATE())  
GO 

这适用于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