表结构

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');

 

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