通过使用两个会话,有很多帖子.
从上面的第二篇文章复制的方法
首先,选择一个未使用的表名.我将使用test.innodb_deadlock_maker.以下是您需要执行的语句:
create table test.innodb_deadlock_maker(a int primary key) engine=innodb;
insert into test.innodb_deadlock_maker(a) values(0), (1);
现在设置表及其数据.接下来,在两个不同的连接上执行以下操作:
– 连接0
set transaction isolation level serializable;
start transaction;
select * from test.innodb_deadlock_maker where a = 0;
update test.innodb_deadlock_maker set a = 0 where a <> 0;
– 连接1
set transaction isolation level serializable;
start transaction;
select * from test.innodb_deadlock_maker where a = 1;
update test.innodb_deadlock_maker set a = 1 where a <> 1;