关于列的SQL Server标识属性

时间:2013-09-25 12:09:21

标签: sql-server

我已将Identity Property设置为(1001,1)到SQL Server 2008中的表中的列(例如:Employee Id),当我插入一些它开始生成的记录为1001,1002,1003时。但是,当我删除1002或完全记录时,我想再次将Identity Property设置为1001。如何在删除记录后将Identity Property设置为初始值,可以任何正文帮助我...... ??

6 个答案:

答案 0 :(得分:1)

谷歌的第一个链接

here(DBCC CHECKIDENT)

你确定这是你想要做的吗?通常只有在清空表格时才能重新进行身份转移。

良好描述三种方法here as well

答案 1 :(得分:1)

你想要的可能是RESEED

DBCC CHECKIDENT (tablename, RESEED, _newStartingNumber_)

答案 2 :(得分:0)

为此,您必须截断表格

TRUNCATE TABLE yourtable

但只有当表中没有任何记录,即所有记录都已被删除时,才能这样做。

答案 3 :(得分:0)

DELETE FROM TableName只删除记录,但seeding将保留。 Truncate Table TableName名称将重置播种并删除记录。

但是,你提到基于删除一条记录的重置 - 你能解释一下你在这里要做什么吗?

答案 4 :(得分:0)

使用以下内容:

DELETE FROM TABLE_NAME   
DBCC CHECKIDENT (TABLE_NAME,RESEED,new_reseedvalue)  

或者你可以简单地使用:

 truncate table table_name

答案 5 :(得分:0)

在您的情况下(我更喜欢)的最佳解决方案是找到max([Employee Id])然后插入数据。

如果您想重新设置表格,可能需要查看:

DBCC CHECKIDENT (Transact-SQL)

重置标识列值。