踩坑记录:for update死锁问题

问题描述:

事务1 事务2
begin;
begin;
select * from sys_test where id = ‘1’ for update;
select * from sys_test where id = ‘2’ for update;
insert into sys_test(id) values(1);
锁等待中 insert into sys_test(id) values(2);
锁等待解除 死锁,事务2的事务被回滚

解决:

redis读写锁控制,不用for update了

猜你喜欢

转载自blog.csdn.net/qq_36514197/article/details/121540971