如何将具有默认值的列添加到SQL Server 2000/SQL Server 2005中的现有表中?
当前回答
向表中添加新列:
ALTER TABLE [table]
ADD Column1 Datatype
例如
ALTER TABLE [test]
ADD ID Int
如果用户希望使其自动递增,则:
ALTER TABLE [test]
ADD ID Int IDENTITY(1,1) NOT NULL
其他回答
步骤1.首先,您必须使用添加字段来更改表
alter table table_name add field field_name data_type
步骤2创建默认值
USE data_base_name;
GO
CREATE DEFAULT default_name AS 'default_value';
步骤3然后您必须执行此过程
exec sp_bindefault 'default_name' , 'schema_name.table_name.field_name'
示例-
USE master;
GO
EXEC sp_bindefault 'today', 'HumanResources.Employee.HireDate';
例子:
ALTER TABLE [Employees] ADD Seniority int not null default 0 GO
当要添加的列具有NOT NULL约束,但没有DEFAULT约束(值)时,请注意。在这种情况下,如果表中有任何行,ALTER TABLE语句将失败。解决方案是从新列中删除NOT NULL约束,或为其提供DEFAULT约束。
如果要添加多个列,可以通过以下方式进行:
ALTER TABLE YourTable
ADD Column1 INT NOT NULL DEFAULT 0,
Column2 INT NOT NULL DEFAULT 1,
Column3 VARCHAR(50) DEFAULT 'Hello'
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
推荐文章
- 如何在Ruby On Rails中使用NuoDB手动执行SQL命令
- 查询JSON类型内的数组元素
- 确定记录是否存在的最快方法
- 获得PostgreSQL数据库中当前连接数的正确查询
- 在SQL选择语句Order By 1的目的是什么?
- 从现有模式生成表关系图(SQL Server)
- 我如何循环通过一组记录在SQL Server?
- 数据库和模式的区别
- 如何在SQL Server中一次更改多个列
- 如何从命令行通过mysql运行一个查询?
- 外键约束可能导致循环或多条级联路径?
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N
- 货币应该使用哪种数据类型?
- 如何选择每一行的列值不是独特的