跳到主要内容
版本:V1.1.0

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)

相关文档

IS_USED_LOCK