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


当前回答

尝试以下查询:

ALTER TABLE MyTable
ADD MyNewColumn DataType DEFAULT DefaultValue

这将在表中添加一个新列。

其他回答

试试这个

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

例子:

ALTER TABLE [Employees] ADD Seniority 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

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

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

您可以通过以下方式使用T-SQL完成此操作。

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

此外,您还可以通过右键单击“设计”菜单中的表并将默认值设置为表来使用SQLServerManagementStudio。

此外,若要将同一列(若不存在)添加到数据库中的所有表中,请使用:

 USE AdventureWorks;
 EXEC sp_msforeachtable
'PRINT ''ALTER TABLE ? ADD Date_Created DATETIME DEFAULT GETDATE();''' ;