SQL

UPSERT

日本語

概要

該当する行があればUPDATE、無ければINSERTを1つの命令で行う操作。

詳細

UPDATEとINSERTを組み合わせた造語。「存在確認してから分岐する」処理をアプリケーション側で書く必要がなくなり、コードがシンプルになるほか、確認と書き込みの間に別の処理が割り込む競合状態(レースコンディション)も防げる。PostgreSQLの「INSERT ... ON CONFLICT」等で実現される。

データベースの他の用語