返回顶部

收藏

MySQL 的存储过程中请求一个锁对象

更多

sql代码

mysql>
mysql> delimiter $$
mysql>
mysql> CREATE PROCEDURE myProc()
    -> BEGIN
    ->     DECLARE lock_result INT;
    ->     IF get_lock('sp_critical_section_lock',60) THEN
    ->        /* This block can only be run by one user at a time*/
    ->        SELECT 'got lock';
    ->        /* Critical code here */
    ->       SET lock_result=release_lock('sp_critical_section_lock');
    ->     ELSE
    ->        SELECT 'failed to acquire lock';
    ->        /* Error handling here */
    ->     END IF;
    -> END$$
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> delimiter ;
mysql> call myProc();
+----------+
| got lock |
+----------+
| got lock |
+----------+
1 row in set (0.02 sec)

Query OK, 0 rows affected (0.02 sec)

mysql>
mysql> drop procedure myProc;
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql>

标签:MySQL

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 妙音 发表 2018-09-14 22:32:26 myisam锁表机制
  2. 妙音 发表 2018-09-15 01:58:33 思考大表统计的优化策略
  3. 妙音 发表 2018-09-15 04:22:47 mysql存储引擎毫无疑问选择Innodb
  4. TiuVe2 发表 2018-09-15 12:43:45 MySQL 8.0 中统计信息直方图的尝试
  5. 妙音 发表 2018-09-11 23:39:24 flask自动重连数据库
  6. techug 发表 2018-09-07 02:41:25 MySQL 小心了:MariaDB 会取代你!
  7. 妙音 发表 2018-09-05 21:31:10 快速生成千万条mysql数据
  8. 妙音 发表 2018-09-05 21:54:52 sysbench测试mysql性能瓶颈
  9. techug 发表 2018-09-05 01:01:17 译 | MariaDB 和 MySQL 全面对比:选择数据库需要考虑这几点
  10. dulong 发表 2018-09-04 12:39:56 原 荐 Spring事务隔离级别详解
  11. 博主 发表 2018-08-24 03:01:40 Mysql获取锁超时方案
  12. 博主 发表 2018-08-24 03:01:40 Golang下的mysql坑

发表评论