0

2 つの独立したトランザクションでダーティ リードの異常を再現したいと考えています。ターミナルを 2 回起動し、両方をデータベースに接続しました。start transaction;両方のコマンドでトランザクションを開始しました。次に、最初のターミナル ウィンドウで 1 つの情報を更新したところ、次のように表示されましたRows matched: 1 Changed: 1 Warnings: 0。このテーブルのすべてのデータを選択すると、変更がありました。しかし、2 番目のターミナル ウィンドウで変更されたデータを表示しようとすると、変更select * from adress;ではなく古いデータが表示されました。

最後に、ダーティ リードの異常を証明し、適切な分離レベルでこれを回避する必要があります。

これは、私の端末ウィンドウの 2 つのスクリーンショットです。

トランザクション 1:

トランザクション 1

取引 2:

トランザクション 2

私は何を間違っていますか?

助けてくれてありがとう、ロビン

4

1 に答える 1