mysql> start transaction; # 存在しないuniq制限ありなデータにfor update mysql> select * from hoge where piyo_id = 1 and fuga_id = 1 for update; mysql> insert into hoge (piyo_id, fuga_id) value (1,1);
をAとB交互にしたら、Aでinsertするとき待ちが発生して、BでinsertするとDeadlock found when trying to get lock;と言われてしまい、その代わりAのinsertは成功するっぽい。イヤーンって感じです。
Server version: 5.5.16 MySQL Community Server (GPL)
fujiwaraさんに教えてもらった参考URL: http://d.hatena.ne.jp/jflute/20120831/1346393321