「コミットとロールバックって何が違うの?」
応用情報技術者試験でもデータベース分野で頻出ですが、
- トランザクションとセットで出てくる…
- いつコミットするの?
- ロールバックは何を戻すの?
- 障害時にどう動く?
で混乱する人がかなり多いテーマです。
この記事では、
- コミットとは?
- ロールバックとは?
- トランザクションとの関係
- 試験での頻出ポイント
を分かりやすく解説します!
まず結論
コミット
「変更内容を確定する」
ロールバック
「変更内容を取り消す」
超簡単にいうと
| 操作 | イメージ |
|---|---|
| コミット | 保存ボタン |
| ロールバック | 元に戻すボタン |
トランザクションとは?
超頻出!
トランザクション
一連の処理をひとまとまりとして扱う単位
例
銀行振込
口座Aから1万円引く
↓
口座Bへ1万円入れる
問題
途中で障害発生すると?
口座A
↓
引いた
口座B
↓
入ってない
大問題!
解決方法
トランザクション
コミットとは?
超頻出!
意味
トランザクションの確定
イメージ
更新
↓
確認
↓
コミット
↓
確定
SQL例
UPDATE 商品
SET 価格=1200
WHERE 商品ID=1;
COMMIT;
結果
変更内容が正式に保存される。
ロールバックとは?
超頻出!
意味
トランザクション開始前へ戻す
イメージ
更新
↓
エラー発生
↓
ロールバック
↓
元に戻る
SQL例
UPDATE 商品
SET 価格=1200
WHERE 商品ID=1;
ROLLBACK;
結果
変更が取り消される。
コミットとロールバックの違い
超頻出!
| 比較 | コミット | ロールバック |
|---|---|---|
| 目的 | 確定 | 取消 |
| 結果 | 保存される | 元に戻る |
| 使用場面 | 正常終了 | 異常終了 |
| 復元可否 | 基本不可 | 実行前へ復元 |
処理の流れ
トランザクション開始
↓
更新処理
↓
正常
↓
COMMIT
トランザクション開始
↓
更新処理
↓
異常
↓
ROLLBACK
ACID特性との関係
超頻出!
Atomicity(原子性)
全部成功か全部失敗
ロールバックが支える
途中失敗
↓
全部取消
例
銀行振込
引出し成功
↓
入金失敗
↓
ロールバック
SAVEPOINT
発展知識!
役割
途中地点を保存
SAVEPOINT SP1;
必要に応じて
ROLLBACK TO SP1;
応用情報で超頻出
かなり狙われる👇
- トランザクション
- COMMIT
- ROLLBACK
- ACID特性
- 原子性
よくあるひっかけ
「ロールバックはコミット後も元に戻せる」
→ ❌違う!
コミット後は
正式確定
となる。
1分で復習!
コミット
確定
ロールバック
取消
コミット
正常終了
ロールバック
異常終了
超重要
原子性を実現
練習問題
問題
ロールバックの説明として最も適切なものはどれか。
ア
変更内容を確定する
イ
変更内容を圧縮する
ウ
変更内容を開始前の状態に戻す
エ
インデックスを再作成する
解答
正解:ウ
解説
ロールバックは、トランザクション中の変更を取り消し、処理開始前の状態に戻すための機能です。
まとめ
コミットとは
「変更内容を確定する」
ロールバックとは
「変更内容を取り消す」
超重要
- トランザクション
- COMMIT
- ROLLBACK
- ACID特性
- 原子性
まずは、
「コミット=保存」
「ロールバック=元に戻す」
このイメージを持つとかなり理解しやすくなります!
知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…
まずは無料でキャリア相談

コメント