将身份值修改为下一个新记录要插入的值

14 浏览
0 Comments

将身份值修改为下一个新记录要插入的值

我已经向SQL Server数据库表中插入了记录。该表定义了主键,并且自动增量标识种子已经设置为“Yes”。主要是因为在SQL Azure中,每个表都必须有一个定义好的主键和标识。

但是因为我需要从该表中删除一些记录,所以这些表的标识种子将被干扰,自动生成的索引列(递增1)也将受到干扰。

我如何在删除记录后重置标识列,让该列按升序编号顺序排列?

该标识列在数据库中没有被用作外键。

admin 更改状态以发布 2023年5月23日
0
0 Comments

DBCC CHECKIDENT ('TestTable', RESEED, 0)
GO

其中0是identity的起始值。

0
0 Comments

DBCC CHECKIDENT管理命令用于重置标识计数器。命令语法如下:

DBCC CHECKIDENT (table_name [, { NORESEED | { RESEED [, new_reseed_value ]}}])
[ WITH NO_INFOMSGS ]

例如:

DBCC CHECKIDENT ('[TestTable]', RESEED, 0);
GO

它在以前的Azure SQL数据库版本中不支持,但现在支持。


感谢Solomon Rutzky修复了命令的文档

0