私はMySQL Workbenchでの開発に多くの時間を費やしています。ここ数週間、私はいくつかのストアドプロシージャに取り組み、ロールバックされたトランザクションでそれらをテストしてきました。しかし、私がそれらをロールバックしていても、手順によって加えられた変更はコミットされています。私は 'set autocommit = 0;'を実行する提案を見つけました。それはしばらく働いた。しかし、今、それはどちらも働いていません。次のコードを実行すると、Workbenchを実行している別のコンピュータでselect文を実行しても、プロシージャの変更が表示されます。MySQLはトランザクションをロールバックしません
set autocommit = 0;
start transaction;
call TestProc(129,131);
select * from Table1;
select * from Table2;
ロールバック;
"set autocommit = 0"という行は以前には必要ありませんでした.1にリセットするまでは、それを駄目です。しかし、私が言ったように、今は動作しません。
統計情報などをリセットする必要があるのだろうかと思います。私は "Flush Tables;" 「クエリキャッシュをフラッシュする」;しかし、問題は続く。私はこれがメンテナンスの問題であると推測していますが、私は修正する方法がわかりません。
ご協力いただければ幸いです。
おかげで、
マイク
あなたはこれ以上の詳細を必要としています – Drew