2020年7月3日のブックマーク (1件)

  • トランザクション中の文の失敗の扱いの違い - Write and Run

    (読みづらいタイトルだな) ことの発端はこのツイート。 MySQLは、以下を満たさないという理解でいいのか? エラーが出た時にPostgreSQLのようにロールバックを行わないので Atomicity(原子性)・・・トランザクションの実行結果は「全て成功」か「全て失敗」のいずれかでなければならない#mysql— imaharu (@imaharuTech) July 2, 2020 さすがの MySQL でもそこを破ってくることはないだろうと思いつつ、トランザクション野郎としてはちゃんと確かめねばならないと思い、早朝にも関わらず布団から出てラップトップを開いた(午前10時)。 実験1 以下のような docker-compose.yml と sql/script.sql を用意し、実験をする。 version: '3.3' services: db: image: mysql:8 envir

    トランザクション中の文の失敗の扱いの違い - Write and Run
    tmtms
    tmtms 2020/07/03
    MySQL の挙動に慣れてると、クエリが失敗するとそれ以降そのトランザクション内では何もできないという PostgreSQL の挙動が厄介と感じる。commit してるのに勝手に rollback になっちゃうし。