MySQLで、キーが存在しなければ INSERT、重複していれば UPDATE を実行する "INSERT ... ON DUPLICATE KEY UPDATE"


MySQLで、PRIMARY KEY または UNIQUE KEY を持つレコードが存在していなければ INSERT を実行し、すでに KEY を持つレコードが存在していればそのレコードに対して UPDATE を実行することができるようです。

INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;


参考
MySQL :: MySQL 5.1 リファレンスマニュアル (オンラインヘルプ) :: 8.2.5.3 INSERT ... ON DUPLICATE KEY UPDATE 構文


MySQL独自の仕様のようですが、これは便利ですね。