遇到一个很奇快的问题,在INT自增的表中,插入信息时没有涉及主键字段,报错:Violation of PRIMARY KEY constraint 'PK_****’. Cannot insert duplicate key in object 'dbo.TableName'. 无法在表中插入重复键!
直接把语句拿到查询分析器里去执行,也报相同错误。
解决办法:
1.取消主键,再设置主键,程序照常运行
2.执行以下SQL语句,复制得到的结果,执行
SELECT 'DBCC CHECKIDENT (' + Table_Name + ')' FROM information_schema.tables WHERE TABLE_TYPE = 'BASE TABLE'
问题原因:标示种子值与表中的实际值不同步,DBCC CHECKIDENT 语句用来检查如果表的当前标识值小于列中存储的最大标识值,则使用标识列中的最大值对其进
行重置~!
本文讨论了在INT自增表中插入信息时遇到的重复键错误,并提供了通过取消主键、设置主键及执行DBCCCHECKIDENT语句的方法来解决此问题的步骤。解释了主键同步和DBCCCHECKIDENT语句的作用。
1224

被折叠的 条评论
为什么被折叠?



