首页 > 解决方案 > 无法重新创建的违反 PRIMARY KEY 约束的错误

问题描述

我有一个违反 PRIMARY KEY 约束的错误问题,无法重新创建如下:

违反主键约束“PK__FPIO_Log__3214EC27EB54FBE5”。无法在对象“dbo.FPIO_LoginActivity”中插入重复键。重复键值为 (1)。

该操作是使用选择查询填充 FPIO_LoginActivity。只有一行插入成功。我无法从数据源中找到任何具有重复 ID 的行。我尝试执行语句本身而不是运行整个脚本,并且它没有任何问题地通过了。成功插入 71112 行。所以我无法重现问题。我找不到任何其他代码引用此表,也找不到更新或插入此表。

谁能给我一个关于可能原因的建议?

这是我的代码: SET IDENTITY_INSERT [dbo].[FPIO_LoginActivity] ON;

insert into [dbo].[FPIO_LoginActivity](CreatedBy, CreatedOn, HostName, ID, 
IpAddress, IsDeleted, IsSuccessful, LoginDate, ModifiedBy, ModifiedOn, 
UserID, UserName)
select case when fla.CreatedBy not in (select u.ID from [dbo].[User] u) 
then 1 else fla.CreatedBy end CreatedBy, fla.CreatedOn, fla.HostName, 
fla.ID, fla.IpAddress, fla.IsDeleted, fla.IsSuccessful, fla.LoginDate, 
case when fla.ModifiedBy not in (select u.ID from [dbo].[User] u) then 1 
else fla.ModifiedBy end ModifiedBy, 
fla.ModifiedOn,
case when u.ID is not null then u.ID else null end UserID,
fla.UserName 
from  [SWIMS13].[dbo].[FPIO_LoginActivity] fla left join [SWIMS13].[dbo]. 
[User] u
on upper(fla.UserName)=upper(u.UserName)
SET IDENTITY_INSERT  [dbo].[FPIO_LoginActivity] OFF;

标签: sql-server

解决方案


推荐阅读