いくつかのステートメントはロールバックできません。 これには一般に、データベースを作成または削除したり、テーブルやストアドルーチンを作成、削除、または変更したりするデータ定義言語 (DDL) ステートメントが含まれます。
このようなステートメントを含まないようにトランザクションを設計してください。 ロールバックできないステートメントをトランザクション内で早期に発行し、そのあと別のステートメントが失敗したとすると、このような場合に ROLLBACK
ステートメントを発行してもそのトランザクションのすべての効果をロールバックすることはできません。