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


当前回答

尝试以下查询:

ALTER TABLE MyTable
ADD MyNewColumn DataType DEFAULT DefaultValue

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

其他回答

尝试以下查询:

ALTER TABLE MyTable
ADD MyNewColumn DataType DEFAULT DefaultValue

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

OFFLINE和ONLINE与如何在NDB群集表上执行ALTER表有关。NDBCluster支持使用MySQL NDBCluster7.3及更高版本中的ALGORITHM=INPLACE语法进行联机ALTERTABLE操作。NDBCluster还支持特定于NDB的旧语法,该语法使用ONLINE和OFFLINE关键字。这些关键字从MySQL NDB Cluster 7.3开始就被弃用;它们在MySQL NDB Cluster 7.4中继续受支持,但在NDB Cluster的未来版本中可能会被删除。

IGNORE涉及ALTER语句如何处理新添加约束UNIQUE的列中的重复值。如果未指定IGNORE,则ALTER将失败且不会应用。如果指定IGNORE,则保留所有重复行的第一行,删除重置并应用ALTER。

ALTER_SPECICATION将是您正在更改的内容。要添加、删除或修改的列或索引,或要对列应用的约束。

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
       alter_specification [, alter_specification] ...

    alter_specification:
        ...
        ADD [COLUMN] (col_name column_definition,...)
        ...

Eg: ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;

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 
ALTER TABLE ADD ColumnName {Column_Type} Constraint

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

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

ALTER TABLE [TABLENAME] ADD MyNewColumn INT not null default 0 GO