自增列无法插入重复主键解决办法

遇到一个很奇快的问题,在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 语句用来检查如果表的当前标识值小于列中存储的最大标识值,则使用标识列中的最大值对其进
行重置~!
posted @ 2011-08-08 21:21  活雷锋  阅读(2484)  评论(0编辑  收藏  举报