Bud*_*Joe 135 sql t-sql sql-server ddl
我正在尝试以编程方式将一个标识列添加到表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]
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我尝试导出脚本,但SQL Mgmt Studio会对整个Temp Table进行重命名.
更新:我认为它在第一个语句中窒息"关键字'COLUMN'附近的语法不正确."
Vik*_*ram 191
只是删除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]
Run Code Online (Sandbox Code Playgroud)
这是向表中添加新列的方法
ALTER TABLE [tableName]
ADD ColumnName Datatype
Run Code Online (Sandbox Code Playgroud)
例如
ALTER TABLE [Emp]
ADD Sr_No Int
Run Code Online (Sandbox Code Playgroud)
如果你想让它自动递增
ALTER TABLE [Emp]
ADD Sr_No Int IDENTITY(1,1) NOT NULL
Run Code Online (Sandbox Code Playgroud)
将列添加到表中的正确语法是:
ALTER TABLE table_name
ADD column_name column-definition;
Run Code Online (Sandbox Code Playgroud)
在你的情况下,它将是:
ALTER TABLE Employees
ADD EmployeeID int NOT NULL IDENTITY (1, 1)
Run Code Online (Sandbox Code Playgroud)
要添加多个列,请使用括号:
ALTER TABLE table_name
ADD (column_1 column-definition,
column_2 column-definition,
...
column_n column_definition);
Run Code Online (Sandbox Code Playgroud)
COLUMN
SQL SERVER中的关键字仅用于更改:
ALTER TABLE table_name
ALTER COLUMN column_name column_type;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
201284 次 |
最近记录: |