Duplicate entry ‘XXX‘ for key
前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到教程。
報(bào)錯(cuò)如題:Duplicate entry 'XXX' for key?
?
意思是說有唯一約束,所以不能重復(fù)。
而我的情況是,有兩個(gè)表:用戶表A、職位表B,其中A表中有一個(gè)工號(hào)字段 : xxx , 是B表的外鍵。
當(dāng)時(shí)我想往B表插入一條數(shù)據(jù)報(bào)了這個(gè)錯(cuò),我一直以為是B表主鍵重復(fù),反復(fù)確認(rèn)都應(yīng)該沒有問題,
報(bào)錯(cuò)如題目,同時(shí)提示信息給了外鍵名。
?
而我的業(yè)務(wù)邏輯是插入B表前根據(jù)B表主鍵檢查這條數(shù)據(jù)是否存在,如果存在就修改;否則插入。
檢查數(shù)據(jù)發(fā)現(xiàn),主鍵沒有問題,但是B表中的外鍵 xxx 這一列,在B表中其它數(shù)據(jù)行已使用過了,重復(fù)的是這個(gè)字段。
?
于是,在插入B表前再加上根據(jù) xxx 列檢查,如果存在就刪除,再重新插入,成功。
業(yè)務(wù)上就是,先檢查這個(gè)用戶是否有職位信息,再根據(jù)工號(hào)查是否已有數(shù)據(jù),如果有則刪除原記錄,插入新的職位信息。
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的Duplicate entry ‘XXX‘ for key的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 运用扩展管理器完成flash图层的合并
- 下一篇: css中关于超链接