我使用恢复数据库并删除 my_table 中的记录

 delete from my_table;

然后我使用这个查询重新设定表标识列:
DBCC CHECKIDENT('dbo.my_table', reseed, 0);

我得到的消息是:



但是,当我使用此查询检查当前身份时:
DBCC CHECKIDENT ('my_table', NORESEED);

我收到了这条消息:



所以,当我在表中插入记录时,第一次插入会给我一个错误,但如果我再试一次,则插入成功。

为什么我不能将当前标识列值设置为 0?我需要先在表中插入标识值 1。

最佳答案

相反,使用:

truncate table my_table;

这将自动重置标识列。 (另外,它会比使用 delete 删除行更快)



引用:Truncate Table

关于sql - 将标识列重新设置为 0 失败 - 当前标识值为 NULL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20919655/

10-12 22:33