开发者社区> 问答> 正文

MySQL RC隔离级别 单表更新导致的死锁

数据库版本:阿里云RDS 5.7 隔离级别:RC

表结构:t (
id bigint(20) NOT NULL AUTO_INCREMENT,
a datetime,
b bigint(20),
c varchar(255),
d bigint(20),
e varchar(50),
f int(11),
PRIMARY KEY (id)
);

产生死锁的业务代码(仅贴出伪代码):
@Transactional
public void update(String s) {
for (int i = 1; i < 6; i++) {
update t set ... where e = #{s} and f = #{i};
}
}

该事务在并发场景下发生死锁,求大神解释一下为什么会死锁?

本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。 https://developer.aliyun.com/article/706511 点击链接欢迎加入感兴趣的技术领域群

展开
收起
茶什i 2019-08-30 14:31:22 682 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像