xa start 'xat1'; select * from Table1 where id = 2 for update; update Table1 set str = (select uuid()) where id = 2; do sleep(3); select * from Table1 where id = 1 for update; -- Will wait for lock until "xat2" triggers deadlock and gets rejected. update Table1 set str = (select uuid()) where id = 1; xa end 'xat1'; xa prepare 'xat1'; xa commit 'xat1';