- MySQL
-
2024-01-30
この記事は最終更新日から1年以上経過しています。
タイトルにもある通り、MySQLトランザクションにてROLLBACK(ロールバック)ができないケースがあります。
一連の処理を記述し、特定条件下やどこかで失敗した場合等に全てを元に戻せるということで非常に便利なROLLBACKですが、
ROLLBACKできないSQL文がトランザクションに含まれていた場合、ROLLBACK自体がエラーとなり元に戻らないことがあります。
ROLLBACKできないSQLの例
- CREATE
- DROP
- ALTER
- TRUNCATE
ROLLBACKできるSQL
- INSERT
- UPDATE
- DELETE
但しこちらはMySQLに限ったお話ですので、他のDBの場合は要確認です。
他のDBではROLLBACKできる場合があります。
公式リファレンス
https://dev.mysql.com/doc/refman/8.0/ja/cannot-roll-back.html
この記事がお役に立ちましたらシェアお願いします

776 views