如何在插入時忽略重複鍵?
您正在嘗試將資料插入標記欄位具有 UNIQUE 限制的表中。要忽略任何重複的標記,您需要尋求忽略這些重複插入的解決方案。
解:
不要使用抑制所有錯誤的INSERT IGNORE,而是考慮使用下列的方法:
INSERT INTO table_tags (tag) VALUES ('tag_a'),('tab_b'),('tag_c') ON DUPLICATE KEY UPDATE tag=tag;
說明:
透過使用ON DUPLICATE KEY UPDATE,如果資料庫中已經存在任何標籤,則其值將不會更新。這意味著重複插入將被忽略而不會導致錯誤。您提供的帶有“*”的代碼將不起作用,因為它沒有指定應忽略哪個標籤。
範例:
當您執行上述查詢時,您會注意到顯示以下訊息:
Query OK, 0 rows affected (0.07 sec)
這表示資料已成功插入,任何重複的標籤都會被刪除被忽略。
以上是如何在 SQL 中忽略重複的鍵插入而不出錯?的詳細內容。更多資訊請關注PHP中文網其他相關文章!