0

そのSQLコマンドがどのように機能するかを理解しようとします:

BEGIN;
UPDATE post SET hits = hits + 1;
-- run from another session:  DELETE FROM post WHERE hits = 10;
COMMIT;

たとえば、ヒット数が 9 と 10 の行があるとします。次に、そのクエリを実行します。行はどのように (そしてなぜ) 見えるのでしょうか?

4

1 に答える 1

1

これは各セッションのトランザクション分離レベルによって異なりますが、デフォルトで
は、UPDATE によって行われたすべての変更は、COMMIT の実行後にのみ他のセッションに表示されます。
したがって、DELETE セッションは UPDATE がまったくなかったかのように動作します。

于 2013-06-19T11:58:39.940 に答える