Duplicate entry ‘XXX‘ for key

2022-04-13 15:23:58 浏览数 (1)

报错如题:Duplicate entry 'XXX' for key

意思是说有唯一约束,所以不能重复。

而我的情况是,有两个表:用户表A、职位表B,其中A表中有一个工号字段 : xxx , 是B表的外键。

当时我想往B表插入一条数据报了这个错,我一直以为是B表主键重复,反复确认都应该没有问题,

报错如题目,同时提示信息给了外键名。

而我的业务逻辑是插入B表前根据B表主键检查这条数据是否存在,如果存在就修改;否则插入。

检查数据发现,主键没有问题,但是B表中的外键 xxx 这一列,在B表中其它数据行已使用过了,重复的是这个字段。

于是,在插入B表前再加上根据 xxx 列检查,如果存在就删除,再重新插入,成功。

业务上就是,先检查这个用户是否有职位信息,再根据工号查是否已有数据,如果有则删除原记录,插入新的职位信息。

key

0 人点赞