[前][次][番号順一覧][スレッド一覧]

mysql:15599

From: <gotou1213@xxxxxxxxxx>
Date: Thu, 26 May 2011 20:28:20 +0900
Subject: [mysql 15599] Re: SELECT MAX 〜 FOR UPDATE と INSERT でデッドロック

後藤です。
自己レスですが、色々試してみたところ、下記の様な状態になって
デッドロックしているのかなと思いました。

  [A] BEGIN;
  [B]   BEGIN;
  [A] SELECT * FROM xx WHERE id = 2 LOCK IN SHARE MODE;
  [B]   SELECT * FROM xx WHERE id = 2 LOCK IN SHARE MODE;  /* (1) */
  [A] SELECT * FROM xx WHERE id = 1 FOR UPDATE;            /* (2) */
  [B]   SELECT * FROM xx WHERE id = 1 FOR UPDATE;          /* (2) と競合でロック解放待ち */
  [A] INSERT INTO xx VALUES(2);                            /* (1) と競合でデッドロック */

[前][次][番号順一覧][スレッド一覧]

     15596 2011-05-26 15:55 [<gotou1213@xxxxxxxxx] SELECT MAX 〜 FOR UPDATE  と INSERT  でデッドロック
     15597 2011-05-26 17:38 ┗[KOJIMA Takanori <tak]                                       
     15598 2011-05-26 20:19  ┗[<gotou1213@xxxxxxxxx]                                     
->   15599 2011-05-26 20:28   ┗[<gotou1213@xxxxxxxxx]