hmx-17の日記

技術ネタとかプライベート

DBトランザクション

MySQLの場合にはデフォルトで自動コミットになるのですが(ぉ
(INSERTなど更新をすればすぐに自動コミットになる)
で、なんか自動だとロールバックできなさそうで心配なので
"SET AUTOCOMMIT=0"で自動コミットをOFFに設定して、
データベースに情報を追加/更新するときには、
"START TRANSACTION;"を発行してからUPDATEやINSERTをする。
一通り終わって処理が成功していれば"COMMIT;"、失敗してたら"ROLLBACK;"で取り消し。