IT用語集 › データベース › Upsert
「update or insert」の造語。行が存在すれば更新し、なければ作成する。
Postgresでは INSERT ... ON CONFLICT (id) DO UPDATE、MySQLでは INSERT ... ON DUPLICATE KEY UPDATE、標準SQLでは MERGE を使う。アトミックな操作なので、SELECTとINSERT/UPDATEを別々に実行したときに起こる競合状態を避けられる。
INSERT ... ON CONFLICT (id) DO UPDATE
INSERT ... ON DUPLICATE KEY UPDATE
MERGE