其实这已经是第几次遇到这个问题了,但是之前一直没有记录。
具体情况就是不小心误删了表数据,并且这个表格的数据主键还是自增长的,最主要的是这个自增长的主键是被别的表引用的。这时候我如果重新插入数据
- id因为自增长和之前的不一样了,就导致数据出问题
- 如果直接从备份中查询数据含ID进行插入,就会报错
报错就是如下图:

当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'oCompany' 中的标识列插入显式值。
然后处理办法就像错误提示的那样,设置值为ON
set identity_insert oCompany ON
insert into oCompany(ID) values(1)
set identity_insert oCompany OFF
需要注意的有两点
- 记得操作完成后重新OFF
- 设置为ON之后进行的插入操作,表是需要明确写出列名的
Comments | NOTHING