SQL Server 2008状态:23000,代码:2627,错误:违反PRIMARY KEY

问题描述 投票:0回答:1

我有一个表有mediainteraction的数据库,有10条记录:1到10

我从另一个表导入了数据,现在有20条记录:11到20

当系统尝试创建新记录时,我收到此错误:

状态:23000,代码:2627,错误:违反PRIMARY KEY约束'pk120_mediainteraction_pkey'。无法在对象'dbo.mediainteraction'中插入重复键。重复键值为(11)。

似乎系统正在尝试使用pkey 11而不是21来创建新记录。

sql-server sql-server-2008 constraints primary-key unique-constraint
1个回答
1
投票

该表可能填充了Fast Load - Keep Identity选项,或者使用了以下子句:

SET IDENTITY_INSERT table ON

这导致表接受来自另一个表的标识值,而不创建自己的值。因此,表的当前标识低于已存在的值,并且添加新行会导致此错误。

检查当前身份:

DBCC CHECKIDENT ('mediainteraction', NORESEED)

使用以下方法修复问题:

DBCC CHECKIDENT ('mediainteraction')

或指定自己的当前身份值留下差距:

DBCC CHECKIDENT ('mediainteraction', RESEED, 100)
© www.soinside.com 2019 - 2024. All rights reserved.