如何将具有默认值的列添加到SQL Server 2000/SQL Server 2005中的现有表中?
当前回答
在SQL Server中,可以使用以下模板:
ALTER TABLE {tablename}
ADD
{columnname} {datatype} DEFAULT {default_value}
例如,要将默认值为1的数据类型为int的新列〔列1〕添加到现有表〔表1〕中,可以使用以下查询:
ALTER TABLE [Table1]
ADD
[Column1] INT DEFAULT 1
其他回答
这也可以在SSMS GUI中完成。我在下面显示了默认日期,但默认值当然可以是任何值。
将表放在设计视图中(右键单击对象中的表浏览器->设计)向表中添加列(或单击要更新的列,如果它已经存在)在下面的列财产中,在默认值或绑定字段中输入(getdate())或“abc”或0或任何您想要的值,如下图所示:
例子:
ALTER TABLE [Employees] ADD Seniority int not null default 0 GO
或者,可以添加默认值,而不必显式命名约束:
ALTER TABLE [schema].[tablename] ADD DEFAULT ((0)) FOR [columnname]
如果在创建此约束时存在现有默认约束的问题,则可以通过以下方式删除这些约束:
alter table [schema].[tablename] drop constraint [constraintname]
您可以通过以下方式使用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();''' ;
在SQL Server中,可以使用以下模板:
ALTER TABLE {tablename}
ADD
{columnname} {datatype} DEFAULT {default_value}
例如,要将默认值为1的数据类型为int的新列〔列1〕添加到现有表〔表1〕中,可以使用以下查询:
ALTER TABLE [Table1]
ADD
[Column1] INT DEFAULT 1
推荐文章
- 在SQL中更新多个列
- 如何删除表中特定列的第一个字符?
- MySQL OR与IN性能
- 哪个更快/最好?SELECT *或SELECT columnn1, colum2, column3等
- GROUP BY with MAX(DATE)
- 删除id与其他表不匹配的sql行
- 等价的限制和偏移SQL Server?
- 如何从SQL Server中的字符串中剥离所有非字母字符?
- 为什么我不能在DELETE语句中使用别名?
- 在SQL Server Management Studio中保存带有标题的结果
- "where 1=1"语句
- 如何选择一个记录和更新它,与一个单一的查询集在Django?
- 多语句表值函数vs内联表值函数
- 如何从Oracle的表中获取列名?
- NOLOCK提示在SELECT语句中的作用