改变表格添加列语法

我试图以编程方式将一个标识列添加到一个表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。