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文と同じ結果になる。