我有一个表有mediainteraction
的数据库,有10条记录:1到10
我从另一个表导入了数据,现在有20条记录:11到20
当系统尝试创建新记录时,我收到此错误:
状态:23000,代码:2627,错误:违反PRIMARY KEY约束'pk120_mediainteraction_pkey'。无法在对象'dbo.mediainteraction'中插入重复键。重复键值为(11)。
似乎系统正在尝试使用pkey 11而不是21来创建新记录。
该表可能填充了Fast Load - Keep Identity选项,或者使用了以下子句:
SET IDENTITY_INSERT table ON
这导致表接受来自另一个表的标识值,而不创建自己的值。因此,表的当前标识低于已存在的值,并且添加新行会导致此错误。
检查当前身份:
DBCC CHECKIDENT ('mediainteraction', NORESEED)
使用以下方法修复问题:
DBCC CHECKIDENT ('mediainteraction')
或指定自己的当前身份值留下差距:
DBCC CHECKIDENT ('mediainteraction', RESEED, 100)