mysql中插入數(shù)據(jù)時Duplicate entry '' for key 'primary'

該問題是插入數(shù)據(jù)時,表中某字段出現(xiàn)了鍵值重復的情況。

此情況通常是主鍵設置了默認遞增,但在新增數(shù)據(jù)過程中出現(xiàn)了主鍵重復的錯誤。

1.IGNORE

INSERT IGNORE INTO Table_name(…..) VALUES(1,1),(2,2),(3,3);

使用IGNORE,如果插入的記錄中存在重復值會忽略重復值的該記錄行,不影響其他行的插入。

2.REPLACE

REPLACE INTO Table_name() VALUES(1,1),(2,2),(3,3)

使用replace當插入的記錄遇到主鍵或者唯一重復時先刪除表中重復的記錄行再插入

3.*ON DUPLICATE KEY UPDATE *NAME1=VALUES(ID)+1

INSERT TO Table_name() VALUES(1,1),(1,2) ON DUPLICATE KEY UPDATE NAME1=NAME1+1;

ON DUPLICATE KEY UPDATE后面使用VALUES指的是插入記錄的值,而不使用VALUES指的是表的自身值。其后執(zhí)行的UPDATE更新的記錄是WHERE重復的主鍵或唯一鍵的ID。

以上三種方法均支持標準的INSERT語法,包括INSERT INTO…VALUES,INSERT INTO…SET,INSERT INTO…SELECT。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容