sql - 更改表添加列语法

标签 sql sql-server tsql ddl

我正在尝试以编程方式向员工表添加标识列。不确定我的语法做错了什么。

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 执行了整个临时表重命名操作。

更新: 我认为第一个语句“关键字‘COLUMN’附近的语法不正确。”令人窒息。

最佳答案

只需从ADD COLUMN中删除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]

关于sql - 更改表添加列语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/794371/

相关文章:

sql - Rails - 按关联的平均值排序

sql-server - Go语言: JOIN sql with two different connections/databases

sql-server-2005 - 如何为一串逗号分隔代码获取相应的逗号分隔文本?

sql - 查询表中每列的填充行数 (SQL Server)

sql - 尽管使用 CAST 还是转换错误?

sql - Oracle - 检查同一表中两列中的重复项

sql - 使用 row_to_json() 中的值更新 jsonb 列

sql - 查找表中所有数值变量的均值、标准差、百分位数

sql-server - 我应该学习 SQL Server 2008 还是 Oracle 11g

sql-server - 主键自动成为索引吗?