以下のコードでエラーが発生しています
ALTER TABLE ADM_Roles ALTER COLUMN RoleID int IDENTITY (1, 1)
キーワード付近の構文が正しくありませんIDENTITY
。
以下のコードでエラーが発生しています
ALTER TABLE ADM_Roles ALTER COLUMN RoleID int IDENTITY (1, 1)
キーワード付近の構文が正しくありませんIDENTITY
。
既存の列を列に変更することはできません。ID フラグを持つ新しい列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 つのオプションがあります。
ID を使用して新しいテーブルを作成し、既存のテーブルを削除します
ID を使用して新しい列を作成し、既存の列を削除します。ただし、これらの列に制約や関係がある場合は特に注意してください。
アプローチ例:
ID列には一連の番号が保持されます
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);