Duplicate entry '0' for key 'PRIMARY' 分析及其解決辦法


寫了一個接口,里面用到了MyBatis的自增配置( useGeneratedKeys ),寫好后在使用Test測試時返發現報了錯:Duplicate entry '0' for key 'PRIMARY',如下圖所示:
在這里插入圖片描述
當時以為是因為之前自己自己手動在數據庫表中插入的數據導致表數據中的數據記錄條數沒有被記錄,把原數據刪了后再次運行發現確實可以插進去,但是當我再次運行方法時發現又出現了這個問題,看來之前的辦法並不對,在網上查了查,發現了是數據庫表設計不合理導致的
因為主鍵設置不能為空,因此默認是以"0"來進行填充的。因此在數據插入時數據的主鍵id值被0占據,但由於之前已經有數據了,id為“0”的索引已經被占,在使用就會報這個錯誤,因此我們只需要對表中的主鍵“id”設置成自增即可,設置(Navicat)如下:
在這里插入圖片描述
設置好后再次測試:
在這里插入圖片描述


《END》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM