トランザクション中に例外が発生したときにロールバックするトランザクションを MySql で作成しようとしています。ストアド プロシージャで以下を使用すると、同様です。
DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
ストアド プロシージャを記述せずにこれを行うことはできますか? たとえば、次のスニペットは、2 番目の挿入が失敗するため、最初の挿入をロールバックする必要があります。
START TRANSACTION;
INSERT INTO mytable VALUE 'foo1',2,'foo3','foo4'
INSERT INTO mytable VALUE 'foo1','foo2','foo3','foo4'
COMMIT