MySQL 查询当前行锁
时间: 2023-09-26 11:09:38 浏览: 143
MySQL锁类型以及子查询锁表问题、解锁1
在 MySQL 中,可以使用以下语句查询当前会话是否持有行锁:
```
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS WHERE LOCK_TRX_ID = TRX_ID_CURRENT();
```
上述语句将检索当前会话持有的行锁。如果返回结果为空,则当前会话没有持有任何行锁。
如果你想查看当前会话持有的所有锁,可以使用以下语句:
```
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS WHERE LOCK_TRX_ID = TRX_ID_CURRENT() OR LOCK_TRX_ID IN (SELECT BLOCKING_TRX_ID FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS WHERE BLOCKING_TRX_ID IS NOT NULL);
```
上述语句将检索当前会话持有的所有锁以及当前会话正在等待的所有锁。如果返回结果为空,则当前会话没有持有任何锁或正在等待任何锁。
阅读全文