我正在尝试以编程方式将一个标识列添加到表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'附近的语法不正确”会让人感到窒息。“
答案 0 :(得分:187)
只需从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]
答案 1 :(得分:8)
这是向表中添加新列的方法
ALTER TABLE [tableName]
ADD ColumnName Datatype
<强> E.g 强>
ALTER TABLE [Emp]
ADD Sr_No Int
如果你想让它自动增加
ALTER TABLE [Emp]
ADD Sr_No Int IDENTITY(1,1) NOT NULL
答案 2 :(得分:5)
将列添加到表中的正确语法是:
CGRect rect = [string boundingRectWithSize:CGSizeMake(1000, 21)
options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont fontWithName:@"Font-Name" size:fontSize]} context:nil];
在你的情况下,它将是:
enum
要添加多个列,请使用括号:
ALTER TABLE table_name
ADD column_name column-definition;
SQL SERVER中的 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);
答案 3 :(得分:0)
如果您尝试将列添加到表的开头,则可能正在进行临时表重命名(因为这比更改顺序更容易)。此外,如果Employees表中有数据,则必须执行insert select *,以便计算EmployeeID。