CREATE TABLE t (i INT) ENGINE = InnoDB; INSERT INTO t (i) VALUES(1); xa start '1'; SELECT * FROM t WHERE i = 1 LOCK IN SHARE MODE; i 1 xa start '2'; update t set i=2 where i=1;; update t set i=2 where i=1; xa end '1'; xa prepare '1'; xa commit '1'; ERROR 40001: Deadlock found when trying to get lock; try restarting transaction insert into t values (5); xa end '2'; ERROR XA102: XA_RBDEADLOCK: Transaction branch was rolled back: deadlock was detected xa rollback '2'; drop table t;