sql >> データベース >  >> RDS >> Mysql

なぜこれが更新例として機能するのですか?

    期待される動作は少しずれていると思います。 db_slowがコミットする前に、テーブル内のすべての行がロックされます。コミットした後、2つの行があります。 db_slowがコミットすると、db_fastのブロックが解除されます。したがって、動作は次のとおりです。

    1. db_slow:行1を選択してロックします
    2. db_slow:1行しかないことを確認して待機します
    3. db_fast:行1を選択して、ロックされていることを確認してください。
    4. db_slow:「2」で行を挿入
    5. db_slow:コミット
    6. db_fast:ブロックを解除して2行を読み取ります
    7. db_fast:何もしません
    8. 最終的にfoo:1、2



    1. Postgresql forC++でステートメントとバインドパラメータを準備する方法

    2. PostgreSQLでのRadians()関数のしくみ

    3. DelphiでMysqlデータベースに接続するための最良の方法は何ですか

    4. mysqlレコードにブレークラインを含めるにはどうすればよいですか?