改变表格添加列语法
我试图以编程方式将一个标识列添加到一个表Employees。 不知道我在做什么错我的语法。
ALTER TABLE Employees ADD COLUMN EmployeeID int NOT NULL IDENTITY (1, 1) ALTER TABLE Employees ADD CONSTRAINT PK_Employees PRIMARY KEY CLUSTERED ( EmployeeID ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
我究竟做错了什么? 我试图导出脚本,但SQL Mgmt Studio做了整个Temp Table重命名的事情。
更新 :我认为这是第一个语句与“靠近关键字'列'不正确的语法窒息”。
只需从ADD COLUMN
删除ADD COLUMN
ALTER TABLE Employees ADD EmployeeID numeric NOT NULL IDENTITY (1, 1) ALTER TABLE Employees ADD CONSTRAINT PK_Employees PRIMARY KEY CLUSTERED ( EmployeeID ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
这是如何将新列添加到表
ALTER TABLE [tableName] ADD ColumnName Datatype
例如
ALTER TABLE [Emp] ADD Sr_No Int
如果你想让它自动递增
ALTER TABLE [Emp] ADD Sr_No Int IDENTITY(1,1) NOT NULL
将列添加到表中的正确语法是:
ALTER TABLE table_name ADD column_name column-definition;
在你的情况下,将是:
ALTER TABLE Employees ADD EmployeeID int NOT NULL IDENTITY (1, 1)
要添加多个列,请使用括号:
ALTER TABLE table_name ADD (column_1 column-definition, column_2 column-definition, ... column_n column_definition);
SQL SERVER中的COLUMN
关键字仅用于更改:
ALTER TABLE table_name ALTER COLUMN column_name column_type;
如果你正在尝试在表的开始处添加一列,那么它可能会进行临时表重命名(因为这比改变顺序更容易)。 另外,如果Employees表中有数据,则必须执行insert select *,以便计算EmployeeID。