TechNote

事務屋のおぼえがき

INSERT INTOのいろいろ

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する
REPLACE INTO members(id, name) VALUES(2, 'TARO');

いずれも、重複するKEYが存在しなければ普通のINSERT文と同じ結果になる。

現場で使えるSQL 第2版 (DB Magazine SELECTION)

現場で使えるSQL 第2版 (DB Magazine SELECTION)