PHP怎么能判断加了for update查询的mysql语句是否锁表了,如果锁表延时2秒呢?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

PHP怎么能判断加了for update查询的mysql语句是否锁表了,如果锁表延时2秒呢?

小旋风柴进 2016-03-06 11:06:21 1793

mysql加了mysql for update查询时,怎么判断锁表。
详细:最近在做一个项目(PHP),有条查询语句for update过,我想实现,当执行到该查询语句时,如果该查询语句此时有另外一个用户在执行,用sleep延时2秒再执行。我目前的思路是:该查询语句不是加了for update吗,那就判断如果该表锁表了,就延时2秒,是否可以判断是否锁表了,如果锁表了就延时2秒。请教各位大牛是否可以判断,怎么判断?或者有没有更好的其他解决方案,当查询到该语句锁表时延时2秒再执行? (我知道for update后是要等到解锁了再执行该语句。但是目前我的问题是想,当锁表了再延时2秒,来加大其中的时间差。所以我才想延时2秒。)

php查询 for查询 查询date mysql查询SQL语句 mysql延时
分享到
取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 18:54:18

    在 select 中加了 for update 的话,如果锁定不成功(别的用户正在锁定中)则产生排队,直到锁定成功才会有返回
    期间并无任何信息返回给用户,所以也就无法干预了

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

相似问题
最新问题