[英]Alter Table Add Column Syntax
我正在嘗試以編程方式將一個標識列添加到表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進行重命名。
更新 :我認為它在第一個語句中窒息“關鍵字'COLUMN'附近的語法不正確。”
只是刪除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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.