- MySQL
- 2024-01-30
タイトルにもある通り、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
685 views