在SQL Server中删除记录后重置标识种子。

32 浏览
0 Comments

在SQL Server中删除记录后重置标识种子。

我已经向 SQL Server 数据库表中插入了记录。该表已经定义了主键,并且自动递增的标识种子设置为“是”。这主要是因为在 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