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


当前回答

--Adding Value with Default Value
ALTER TABLE TestTable
ADD ThirdCol INT NOT NULL DEFAULT(0)
GO

其他回答

ALTER TABLE Table1 ADD Col3 INT NOT NULL DEFAULT(0)
ALTER TABLE ADD ColumnName {Column_Type} Constraint

MSDN文章ALTERTABLE(Transact-SQL)具有所有altertable语法。

在SQL Server中,可以使用以下模板:

ALTER TABLE {tablename}
ADD 
    {columnname} {datatype} DEFAULT {default_value}

例如,要将默认值为1的数据类型为int的新列〔列1〕添加到现有表〔表1〕中,可以使用以下查询:

ALTER TABLE [Table1]
ADD 
    [Column1] INT DEFAULT 1

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

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 <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