
【MySQL】手を動かして学ぶトランザクション入門
BRANK
「これを見たらトランザクション周りがざっくり分かる」を目指します。MySQLを前提に解説しますが、他のDBMSでもベースとなる部分は同じだと思います。(間違いがあったら、優しくコメントしてくれるとうれしいです)トランザクションとは?ざっくり言うと「ここからここまでワンセットです」な処理のことです。たとえば、以下のようなSQLが2つあったとします。この2つは絶対にセットで実行したいとします。ですが、この2つを実行した結果「1つ目は成功したけど2つ目は失敗した」となった場合、「在庫だけ減ってしまった!」になってしまいます。こういうときにトランザクションが使えます。この2つをトランザクションとして実行すると、以下のどちらかに強制できます。つまり、中途半端に実行されるのを防げます。トランザクションの書き方トランザクションとして実行するには、BEGINとCOMMITで囲います。BEGIN; 在庫を減らすSQL; 発送処理をするSQL; COMMIT; これだけで、この2つのSQLをトランザクションとして実行できます。「BEGINでトランザクションを開始して、COMMITで結果を確定させる」というイメージです。また、COMMITの代わりにROLLBACKと書くと「全部実行…