更改下一个自动编号分配而不重新创建整个表,MS SQL Server 2000

Mat*_*wdy 3 sql-server

我有一个表,其主键是 int、自动编号自动增量。您的标准主键类型字段。

由于先前复制的数据库的情况很复杂,现在表中已有行的值高达 410000,但 IDENT_CURRENT 的值报告仅为 400060 左右。现在,我的代码试图插入记录并导致崩溃,因为数据库认为它应该使用数字 400060,但我已经有一条具有该 id 的记录。轰隆隆。

我已经研究过在表设计器中手动设置下一个数字,但是当查看它生成的脚本时,它将创建一个重复的表,将所有记录复制到其中,删除旧表,重命名它,用当我只需要一个简单的改变时,这一切都非常可怕。

有没有一种方法可以更改此值,而不会导致这么多不必要的更改?

Thi*_*r42 5

在你的桌子上使用以下内容

dbcc checkident ('dbo.table',reseed,410000)

它将当前标识值更改为 410000,因此下一次插入将是增量加上 410000(如果增量为 1,则为 410001)。