可能重复:
How do I add auto_increment to a column in SQL Server 2008
嘿所有我在gui中创建了表但是我忘了将主键设置为自动增量!该表的名称为Emp_CV
。
这样的事情:
alter table Emp_CV alter column Applicant_ID NOT NULL int AUTO_INCREMENT
我该怎么做到这一点? 我使用的是SQL Server 2008!
答案 0 :(得分:1)
简短的回答是......你做不到。这是你必须做的:
确保没有人/没有人使用你的桌子。
添加一个新的整数列,该列将成为新的标识列。它必须允许空值,并且必须具有适当的标识值。
执行set identity_insert dbo.foo on
- 必须指定您的表名。
使用现有标识列的值对其进行种子设定:
更新dbo.foo设置new_id = id
删除现有标识列所参与的任何键/约束。
执行set identity_insert dbo.foo off
删除现有列。
更改新列,将其无效性更改为not null
。
执行命令dbcc checkident( {your-table-name-here} , reseed )
。
执行sp_rename
并为新列提供与旧列相同的名称。
重新创建步骤#4中删除的键/约束。
可能希望在引用此表的任何存储过程上运行sp_recompile
。
容易!