我收到以下代码的错误
ALTER TABLE ADM_Roles ALTER COLUMN RoleID int IDENTITY (1, 1)
关键字附近的语法不正确IDENTITY
。
我收到以下代码的错误
ALTER TABLE ADM_Roles ALTER COLUMN RoleID int IDENTITY (1, 1)
关键字附近的语法不正确IDENTITY
。
您不能将现有列更改为IDENTITY
列 - 您需要添加具有标识标志的新列:
ALTER TABLE dbo.ADM_Roles
ADD NewRoleID INT IDENTITY (1, 1)
如果需要,您可以稍后删除旧列并将新列重命名为旧名称:
ALTER TABLE dbo.ADM_Roles DROP COLUMN RoleID
EXEC sp_rename @objName = 'dbo.ADM_Roles.NewRoleID',
@newName = 'RoleID',
@objType = 'COLUMN'
来自 MSDN
你有2个选择,
创建具有标识的新表并删除现有表
创建一个具有标识的新列并删除现有列但是当这些列有任何约束/关系时要特别小心。
示例方法:
身份列将保存数字序列
Alter Table Names Add Id_new Int Identity(1,1)
Go
Alter Table Names Drop Column ID
Go
Exec sp_rename 'Names.Id_new', 'ID','Column'
你必须删除“int”这个词。
ALTER TABLE ADM_Roles ALTER COLUMN RoleId IDENTITY (1, 1);