`
onlyor
  • 浏览: 370967 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

MySQL GET_LOCK RELEASE_LOCK 函数

    博客分类:
  • db2
阅读更多

GET_LOCK(name,time)函数定义一个名称为name、持续时间长度为time秒的锁。

  • 如果锁定成功,返回1。
  • 如果操作超时,返回0。
  • 如果发生错误,返回NULL。

假如有一个用GET_LOCK()得到的锁,当执行RELEASE_LOCK()或连接断开(正常或非正常)时,这个锁就会解除。

执行SQL:


SELECT GET_LOCK('MySQL',10) AS GetLock,
    IS_USED_LOCK('MySQL') AS ISUsedLock,
    IS_FREE_LOCK('MySQL') AS ISFreeLock,
    RELEASE_LOCK('MySQL') AS ReleaseLock;

 

 

从上图中代码执行的结果可以看出:

  • GET_LOCK('MySQL',10)返回结果为1,说明成功得到了一个名称为'MySQL'的锁,持续时间为10秒。
  • IS_USED_LOCK('MySQL')返回结果为当前连接ID,表示名称为'MySQL'的锁正在被使用。
  • IS_FREE_LOCK('MySQL')返回结果为0,说明名称为'MySQL'的锁正在被使用。
  • RELEASE_LOCK('MySQL')返回值为1,说明解锁成功。

 

 

  • 大小: 6.3 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics