データベース

【データベース】ロールバック(rollback)とは

2021年3月6日

ロールバック(rollback)

ロールバック(英:rollback)とは、トランザクション処理においてデータ更新などに失敗した場合に、処理を破棄する(トランザクション開始前の状態に戻す)ことをいいます。

トランザクションとは、トランザクション開始~終了までの一連の処理のことです。

トランザクションとは

例えば、上記図のような処理があるとします。

  1. 商品購入
  2. トランザクション開始
  3. 「在庫テーブル」で保持している商品の在庫を減らす
  4. 「注文テーブル」に購入者情報を登録
  5. トランザクション終了

処理2~処理5までの一連の処理をトランザクションといい、この一連の処理(トランザクション)を「確定(コミット)」するのか、「破棄(ロールバック)」するのかの命令を実行してからトランザクションを終了します。

命令処理
コミット(commit)トランザクションで実行したSQLをすべて確定させる
ロールバック(rollback)トランザクションで実行したSQLをすべて破棄する

helpful