mysql如何临时禁用触发器?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

mysql如何临时禁用触发器?

小旋风柴进 2016-03-11 15:04:53 2736

mysql如何临时禁用触发器能把这块的查询代码发一下吗

mysql禁用 mysql触发器 mysql临时 c++临时 rhel禁用
分享到
取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 18:59:20

    思路很简单,就是在定义触发器时,在需要被控制的语句外面套一层if判断会话变量disable_triggers是否存在。

    IF @disable_triggers IS NULL THEN
            //需要触发的sql
            ;
        END IF;

    然后下次使用sql时,如果想禁用触发器,就在执行语句前事先为那个会话变量disable_triggers赋值() ,再执行语句就不会触发触发器了。

    比如:

    变量设为非NULL,这样不会进入触发器的相关操作
    SET @disable_triggers = 1;

    不打算触发触发器的insert语句
    insert into user values(....);

    上面语句执行完毕完毕后,重新将变量设置为NULL,重新开启触发逻辑
    SET @disable_triggers = NULL;

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

相似问题
最新问题
推荐课程