mysql sleep 死锁例子

表结构

CREATE TABLE `orders` ( `order_id` int(11) NOT NULL, `order_addr` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
insert into orders(order_id,order_addr)
select '12345',sleep(10) from dual where not exists
(select order_id from orders where order_id='12345');

SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
insert into orders(order_id,order_addr)
select '12345',234 from dual where not exists
(select order_id from orders where order_id='12345');

先执行第一条,再执行第二条,第二条成功,第一条会出现死锁

原文地址:https://www.cnblogs.com/zhp-king/p/11304512.html