我收到错误下面的代码SQL Server 2008中:ALTER TABLE查询
ALTER TABLE ADM_Roles ALTER COLUMN RoleID int IDENTITY (1, 1)
不正确的语法关键字IDENTITY
附近。
我收到错误下面的代码SQL Server 2008中:ALTER TABLE查询
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
You can't alter the existing columns for identity.
你有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);
Tamnbien puede hacerlo一个traves德尔diagrama德群德DATOS,modificas拉斯propiedades德拉塔布拉Ÿagregar拉columna阙deseas阙海 “身份” EN LA columna “标识列”
ESO我arreglo el problema de agregar identity a una columna Existente。
[您是否支持分区?](http://stackoverflow.com/questions/6084572/how-to-set-auto-increment-after-creating-a-table-without-any-data -Loss/6086661#6086661) –