INSERT UPDATE REPLACEの使い分け
なければ INSERT、あれば UPDATE
http://txqz.net/blog/2007/01/17/1920
MySQLで INSERT時に重複する KEYが既に存在する場合の動作のオプション
http://fdays.blogspot.jp/2009/01/mysql-insert-key.html
INSERT IGNORE INTO ... (効能)重複するKEYが既に存在する場合、データは登録されない INSERT IGNORE INTO members(id, name) VALUES(2, 'TARO'); INSERT INTO ... ON DUPLICATE KEY UPDATE ... (効能)重複するKEYが既に存在する場合、そのデータをUPDATEする INSERT INTO members(id, name) VALUES(2, 'TARO') ON DUPLICATE KEY UPDATE cnt = cnt + 1; REPLACE INTO ... (効能)重複するKEYが既に存在する場合、そのデータをDELETEしてからINSERTする(※UPDATEではない) REPLACE INTO members(id, name) VALUES(2, 'TARO'); いずれも、重複するKEYが存在しなければ普通のINSERT文と同じ結果になる。