前にコミットしているようだ:MySQLのワークベンチ:トランザクションを開始、私はDELETE文の束を書いて、トランザクションにそれらを包んだロールバック
start transaction;
delete a...
delete b...
delete c...
rollback;
私は削除がいるだろうトランザクションの内部で発生するのでしょうれるアイデア完了時にロールバックする。ステップが途中で失敗した場合は、成功した手順もロールバックすることをお勧めします。私の悔しさdelete a
へ
が数千行を削除し、働いていた、delete b
は失敗したが、私は文をreranときからすべてのレコードがなくなっているように見えました。
これはトランザクションがまだ開いているためですか?私はやってみた:
set session transaction isolation level read committed;
select a.*
私はそうではないと思います。成功したa
がコミットされましたか?もしそうなら、どのように私は完全な作業のクエリを保証するまで、それが起こるのを防ぎますか?
「autoCommit」をオフにしてください。 – Barmar