INSERT … ON DUPLICATE KEY UPDATE
把放很久的文章整理出來。
在 Photo Matt 這裡看到 MySQL 4.1 之後的版本可以有 INSERT ... ON DUPLICATE KEY UPDATE
這種用法:MySQL Counters。引用的原文在 INSERT ON DUPLICATE KEY UPDATE and summary counters. 這篇。
如果你對於 race condition 有瞭解,你可以在文章裡看到這種用法將本來要自己做的檢查交給 MySQL 處理:
INSERT INTO ipstat VALUES(inet_aton('192.168.0.1'), 1, now()) ON duplicate KEY UPDATE hits
這個功能在 MySQL 4.1 以及之後的版本有提供。