IS_FREE_LOCK
描述
该函数用来检查由字符串 str 命名的锁是否是自由的,即用来检测一个命名锁是否被其他会话持有。
语法
IS_FREE_LOCK('str')
说明
参数解释
str:指定要检查的锁的名称,字符串类型。
返回值
-
返回 1:表示锁是自由的,即没有会话持有此锁。
-
返回 0:表示锁已经被某个会话持有,即此锁并不是自由的。
示例
检查名为 my_lock 的锁是否可用。
SELECT IS_FREE_LOCK('my_lock');
返回结果如下:
+-------------------------+
| IS_FREE_LOCK('my_lock') |
+-------------------------+
| 0 |
+-------------------------+
1 row in set (0.001 sec)
返回结果为 0,表示锁 my_lock 已经被某个会话持有。可以通过执行 IS_USED_LOCK() 来查询占用该锁会话的连接标识符(会话 ID),示例如下:
SELECT IS_USED_LOCK('my_lock');
返回结果如下:
+-------------------------+
| IS_USED_LOCK('my_lock') |
+-------------------------+
| 3221487701 |
+-------------------------+
1 row in set (0.001 sec)