这是我试图执行的查询
use [warz]
go
ALTER TABLE dbo.items_lootdata
MODIFY TABLE [RecordID] [int] IDENTITY(1,1) NOT NULL
go
Run Code Online (Sandbox Code Playgroud)
我得到了错误:
消息 102,级别 15,状态 1,第 3 行
“修改”附近的语法不正确。
有任何想法吗?
添加一个新列:
use [warz]
go
ALTER TABLE dbo.items_lootdata
ADD [RecordID] [int] IDENTITY(1,1) NOT NULL
go
Run Code Online (Sandbox Code Playgroud)
修改现有列:
use [warz]
go
-- remember you cannot alter an existing column to
-- identity, following is only for syntax
ALTER TABLE dbo.items_lootdata
ALTER COLUMN [RecordID] [int] IDENTITY(1,1) NOT NULL
go
Run Code Online (Sandbox Code Playgroud)
需要注意的一件事是,更改现有列以及 Identity 中的列是相当棘手的。
编辑 1:评论ALTER语法以正确突出marc_s指出的问题
可以在此答案中找到相关解决方案。