介绍
开始;(1)删除从push_token id;
开始;更新push_token组删除=1,令牌=token1和app_id=' 1 ';承诺;
查询好,0行影响(0.00秒)查询好了,1行影响(17.32秒)错误1213(40001):死锁发现当试图让锁;尝试重新启动事务 <李>
这篇文章主要介绍“MySQL死锁的原因及解决方法”,在日常操作中,相信很多人在MySQL死锁的原因及解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“MySQL死锁的原因及解决方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一,问题由来
这是我同事问我的一个问题,在网上看到了如下案例,本案例RC RR都可以出现,其实这个死锁原因也不叫简单,我们来具体看看:
<编辑id=" h6-u6784u9020u6570u636E ">构造数据一直编辑> <>以前CREATE database deadlock_test; use deadlock_test; CREATE TABLE “push_token”, ( “id”,才能长整型数字(20),NOT NULL AUTO_INCREMENT, “令牌”,才能varchar (128), NOT NULL COMMENT & # 39; push 标记# 39; “app_id”,才能varchar (128), DEFAULT NULL COMMENT & # 39; appid& # 39; “删除”,才能非常小的整数(1),NOT NULL COMMENT & # 39;是否已删除,0:否,1:是& # 39; ,,PRIMARY KEY (id), ,,UNIQUE KEY “uk_token_appid”,(“令牌”,“app_id”) ),引擎=InnoDB AUTO_INCREMENT=3384, DEFAULT CHARSET=utf8 评论=& # 39;pushtoken表& # 39;; insert into  push_token (id,令牌,,app_id,,删除),值(1,“token1" 1 0); <编辑id=" h6-u64CDu4F5Cu6570u636E ">操作数据编辑> s1 (TRX_ID367661) s2 (TRX_ID367662) s3 (TRX_ID367663)开始;更新push_token组删除=1,令牌=token1和app_id=' 1 ';开始;(1)删除从push_token id;
开始;更新push_token组删除=1,令牌=token1和app_id=' 1 ';承诺;
查询好,0行影响(0.00秒)查询好了,1行影响(17.32秒)错误1213(40001):死锁发现当试图让锁;尝试重新启动事务
<李> <李> MySQL死锁的原因及解决方法
- <李>