在SQL Server 2008中更新自动数字列值

如何重置表中的id列。 有时我们在开发和测试应用程序时存储虚拟数据。 但是在测试阶段完成后,我们需要重置表中的id列。

让我们看一个重置 id 列的示例。

创建表

use person

create table reseed_identity

(

id int identity (1,1),

name varchar(50)

)

在表中插入一些值

insert into reseed_identity(name) values ('tom');
insert into reseed_identity(name) values ('jack');
insert into reseed_identity(name) values ('bill');
insert into reseed_identity(name) values ('james');

清除数据并重置 id列自增长值

可以使用下面方法重置id值:

方法1

将整个表的id自增值重置为0

TRUNCATE TABLE reseed_identity 

DBCC CHECKIDENT (reseed_identity,RESEED, 0)

方法2

使用以下步骤将自增长值设置为任意值:

从表中删除一些数据。
假设我删除了3到6的ID。

delete from reseed_identity
where id in (3,4,5,6)
select * from reseed_identity

使用dbcc checkident命令重置自动编号。

dbcc checkident(reseed_identity,RESEED,3)

现在在表中插入值。
插入的下一个记录的id列的值将为4.

insert into reseed_identity
select 'tim' union all
日期:2020-06-02 22:18:06 来源:oir作者:oir