11.9 加锁与解锁函数
MySQL中提供了对数据进行加锁和解锁的函数,这些函数包括GET_LOCK(value,timeout)、RELEASE_LOCK(value)、IS_FREE_LOCK(value)和IS_USED_LOCK(value)函数。
11.9.1 GET_LOCK(value,timeout)函数
GET_LOCK(value,timeout)函数使用字符串value给定的名字获取锁,持续timeout秒。如果成功获取锁,则返回1,如果获取锁超时,则返回0,如果发生错误,则返回NULL。使用GET_LOCK(value,timeout)函数获取的锁,当执行RELEASE_LOCK(value)或断开数据库连接(包括正常断开和非正常断开),锁都会被解除。使用示例如下:
mysql> SELECT GET_LOCK('mysql',1000);
+------------------------+
| GET_LOCK('mysql',1000) |
+------------------------+
| 1 |
+------------------------+
1 row in set (0.00