由于竞争条件,我不时会遇到mysql死锁错误.我已设法使用以下内容复制错误.
事务1
启动事务
插入到fixtradeshistory(从fixtrades中选择null,fixtrades.*,其中id = 10);
事务2
启动事务
插入到fixtradeshistory(从fixtrades中选择null,fixtrades.*,其中id = 10);
事务1
更新fixtrades设置fixtradesstatustypesid ='bla',fixgatewayorderid ='bla',其中id = 10;
交易2 DEADLOCK
更新fixtrades设置fixtradesstatustypesid ='bla',fixgatewayorderid ='bla',其中id = 10;
任何想法为什么会发生这种僵局?
------------------------
LATEST DETECTED DEADLOCK
------------------------
110317 14:52:08
(1) TRANSACTION:
TRANSACTION 0 57841252, ACTIVE 16 sec, process no 2976, OS thread id 3030973328 starting index read`
mysql tables in use 1, locked 1
LOCK WAIT 15 lock struct(s), heap size 1024, undo log entries 1
MySQL thread id 326855, query id 2689051 localhost salert Updating
update …Run Code Online (Sandbox Code Playgroud)