理解できないシナリオ:
DBserver と呼ばれるプロセスには 5 つのスレッドがあり、各スレッドには Mysql データベースへの接続が 1 つあります。SQL を実行するたびに、それを DB サーバーに送信すると、DB サーバーは実行するスレッドを 1 つ選択します。現在、sqlA と sqlB という 2 つの sql があり、sqlA は sqlB の前にありますが、DBserver はマルチスレッドを使用しているため、sqlA が sqlB の前に実行されるとは限りません。私の意見では、sqlB が sqlA の前に実際に実行された場合、エラーが発生します。
例えば:
sqlA:update bankTable set money = 10 where id = 10001;
sqlB:update bankTable set money = 100 where id = 10001;
sqlB が sqlA の前に実行されると、金額は最終的に 10 になります。これは 100 になるはずです。しかし、この DB サーバーはオンラインで、エラーは発生しませんでした。理由はわかりません。どうもありがとうございました!