MySQL 語法 – INSERT … ON DUPLICATE KEY UPDATE

有時在 MySQL 新增資料時, 會先判斷資料是否存在, 如果資料不存在會執行 INSERT 語句, 如果資料存在則用 UPDATE 語句。以前要這樣做, 需要先用 SELECT 判斷, 就像這樣:


雖然可以完成上面提到的任務, 但寫程式時就會較麻煩, MySQL 提供了 INSERT … ON DUPLICATE KEY UPDATE 語句, 可以一行就完成, 無需用 IF 及 SELECT, 寫法是這樣:

要用上面的 INSERT … ON DUPLICATE KEY UPDATE 語句, 資料表必須有 PRIMARY KEY 或 UNIQUE 索引。


Leave a Reply