QA Dojo
ハンズオン
進捗 0/47

BEGIN / COMMIT / ROLLBACK

スライド 2 of 4

トランザクションは 3 つのキーワードで組み立てます:

  • BEGIN(または START TRANSACTION):トランザクションを開始する
  • COMMIT:ここまでの変更を 確定する
  • ROLLBACK:ここまでの変更を 全て取り消す

銀行振込の例:

BEGIN;
UPDATE accounts SET balance = balance - 1000 WHERE id = 1;
UPDATE accounts SET balance = balance + 1000 WHERE id = 2;
COMMIT;

BEGINCOMMIT の間の SQL は 1 セットとして扱われます。 途中で失敗(サーバー落ち、エラー、明示的な ROLLBACK)が起きると、BEGIN 直後の状態に巻き戻ります

⚠️ このハンズオンの簡易 SQL エンジンは BEGIN / COMMIT / ROLLBACK の動作を再現していません。 本スライドは 構文を読めるようにすることが目的です。

トランザクションの構文を完成させてください(大文字小文字どちらでも OK)

; UPDATE accounts SET balance = balance - 1000 WHERE id = 1; UPDATE accounts SET balance = balance + 1000 WHERE id = 2; ;