トランザクションは 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;
BEGIN と COMMIT の間の 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; ;