2020-07-08:mysql只有一个表a,什么情况下会造成死锁,解决办法是什么?

 我来答
软件开发领路人
2020-07-08 · 解答软件开发新人的问题烦恼
软件开发领路人
采纳数:711 获赞数:408

向TA提问 私信TA
展开全部
你好,很高兴回答你的问题。
两个事务t1和t2,假如t1先对表a的记录a1加了锁,而t2对表a的记录a2加了锁。
然后t1又需要对a2加锁,t2又需要对a1加锁。
这时候就会因为持有对方需要的锁,而又等待对方释放自己需要的锁,导致死锁。
比如两个账户记录转账,两个事务,一个事务是从a转账给b,一个事务是从b转账给a。如果如果都是先给转出账户(或转入账户)加锁,然后给转入账户(或转出账户)加锁。就可能出现死锁。
这个可以通过加锁时都是先给主键值小的记录加锁,然后给主键值大的记录加锁,就会避免出现死锁了。
如果有帮助到你,请点击采纳。
我解答的大部分是软件开发新人遇到的问题,如果有兴趣可以关注我。
zhoudha
生活家

2020-07-08 · 知世故而不世故地生活
知道大有可为答主
回答量:2.4万
采纳率:91%
帮助的人:218万
展开全部


不好意思,可能是文字太多,刚才一直提交失败。所以只能截图发给你。请参考。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2bf2a4b
2020-07-08 · TA获得超过193个赞
知道小有建树答主
回答量:985
采纳率:52%
帮助的人:105万
展开全部
一般没提交的同时 又更改的话会死锁吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式