mysql 死锁问题
我首先开启了一个事务查询并加排他锁
然后试了下另外一个查同样id 的事务是成功的
但是仅单条或者不commit就是锁等待
不是应该只要是查询同一条数据有排他锁就会死锁嘛
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我首先开启了一个事务查询并加排他锁
然后试了下另外一个查同样id 的事务是成功的
但是仅单条或者不commit就是锁等待
不是应该只要是查询同一条数据有排他锁就会死锁嘛
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
死锁是两个事务或多个事务在同一资源上相互占用,并请求锁定对方占用的资源。
你这里仅仅是一个事务占用了另一个事务的资源,没有实现双方互相占用,这不会产生死锁。
你可以这样试一下。
两个事务都执行第一条update语句,当再都执行第二条update时,双方都在等待对方释放锁资源,才能update数据行,由此就会产生死锁。
我不懂你执行第二条语句是怎么成功的,id=3已经被第一个事务上行锁了,理论上你的第二个语句是被堵塞的。