mysql加了mysql for update查询时,怎么判断锁表。 详细:最近在做一个项目(PHP),有条查询语句for update过,我想实现,当执行到该查询语句时,如果该查询语句此时有另外一个用户在执行,用sleep延时2秒再执行。我目前的思路是:该查询语句不是加了for update吗,那就判断如果该表锁表了,就延时2秒,是否可以判断是否锁表了,如果锁表了就延时2秒。请教各位大牛是否可以判断,怎么判断?或者有没有更好的其他解决方案,当查询到该语句锁表时延时2秒再执行? (我知道for update后是要等到解锁了再执行该语句。但是目前我的问题是想,当锁表了再延时2秒,来加大其中的时间差。所以我才想延时2秒。)
2条回答 默认 最新
- xuzuning 2014-12-31 03:43关注
在 select 中加了 for update 的话,如果锁定不成功(别的用户正在锁定中)则产生排队,直到锁定成功才会有返回
期间并无任何信息返回给用户,所以也就无法干预了解决 无用评论 打赏 举报
悬赏问题
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
- ¥15 帮我写一个c++工程