前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點選跳轉到教程。
報錯如題:Duplicate entry 'XXX' for key
意思是說有唯一限制,是以不能重複。
而我的情況是,有兩個表:使用者表A、職位表B,其中A表中有一個工号字段 : xxx , 是B表的外鍵。
當時我想往B表插入一條資料報了這個錯,我一直以為是B表主鍵重複,反複确認都應該沒有問題,
報錯如題目,同時提示資訊給了外鍵名。
而我的業務邏輯是插入B表前根據B表主鍵檢查這條資料是否存在,如果存在就修改;否則插入。
檢查資料發現,主鍵沒有問題,但是B表中的外鍵 xxx 這一列,在B表中其它資料行已使用過了,重複的是這個字段。
于是,在插入B表前再加上根據 xxx 列檢查,如果存在就删除,再重新插入,成功。
業務上就是,先檢查這個使用者是否有職位資訊,再根據工号查是否已有資料,如果有則删除原記錄,插入新的職位資訊。