更改主键和标识的表列
问题描述:
我创建了表并希望更改该表。我想添加一个主键和identity(1,1)
。更改主键和标识的表列
我可以应用主键但应用标识会给出错误。有什么缺失?
ALTER TABLE MyTable ADD PRIMARY KEY (Id)
如何添加标识以及主键?
答
您无法更改数据库中现有列的定义,以添加IDENTITY
属性(或将其删除)。你必须创建一个新列与IDENTITY
属性:
ALTER TABLE MyTable ADD NewID int IDENTITY(1,1) not null
不幸的是,你不就能够到老ID值分配给这个新列。如果要分配ID值,然后让IDENTITY
接管,那么最好使用所需结构创建新表,然后从旧表导入数据(可以使用IDENTITY_INSERT
为IDENTITY
分配值柱)。
如果需要,您可以删除旧表并重命名新表。
是的,非常感谢。我试图给我的存在专栏添加身份。 – 2012-08-10 08:19:11
[您可以将其作为仅用于元数据的更改](http://*.com/q/6084572/73226) – 2012-08-10 10:16:57
如果还需要**主键**,则ALTER TABLE LookupStates ADD Id int IDENTITY(1, 1)PRIMARY KEY not null' – 2014-08-12 11:46:31