タグ

ブックマーク / blog.officekoma.co.jp (1)

  • PostgreSQLで「あればUPDATE、なければINSERT」のUPSERTをやってみる

    facebook オフィス狛 技術部のHammarです。 よくデータベースを操作する処理で、あるキーでデータがあればUPDATE、なければINSERTするーというような場面が多々あると思います。 通常はまずはそのキーで件数をSELECTして、件数が0件ならINSERT処理へ、0件以上ならUPDATE処理へ分岐させるというような感じの処理の流れが、まあよくある感じかなと思います。 じつはこれを1回のクエリで行うことができるのですが、PostgresqlMysql等でやり方がそれぞれ違います。 今回はPostgresqlでのやり方で、自分が少しハマった部分や注意点も含めて書こうと思います。 ■UPSERT 「データがあればUPDATE、なければINSERTする」という処理はUPSERTと呼ばれています。INSERT(追加)とUPDATE(更新)の両方の機能を併せ持っていることから、UPDAT

    PostgreSQLで「あればUPDATE、なければINSERT」のUPSERTをやってみる
    takets
    takets 2018/11/13
    updateとinsertはupsertという合成語みたいのを使うらしい
  • 1