SQL Server 2008:ALTER TABLE查询

0 sql alter sql-server-2008

我收到以下代码的错误

ALTER TABLE ADM_Roles ALTER COLUMN RoleID int IDENTITY (1, 1)
Run Code Online (Sandbox Code Playgroud)

关键字附近的语法不正确IDENTITY.

mar*_*c_s 6

无法将现有列更改为IDENTITY列 - 您需要添加具有标识标志的新列:

ALTER TABLE dbo.ADM_Roles 
 ADD NewRoleID INT IDENTITY (1, 1)
Run Code Online (Sandbox Code Playgroud)

如果需要,您可以稍后删除旧列并将新列重命名为旧名称:

ALTER TABLE dbo.ADM_Roles DROP COLUMN RoleID

EXEC sp_rename @objName = 'dbo.ADM_Roles.NewRoleID', 
               @newName = 'RoleID', 
               @objType = 'COLUMN'
Run Code Online (Sandbox Code Playgroud)