开发者社区> 问答> 正文

mysql如何临时禁用触发器?

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

展开
收起
小旋风柴进 2016-03-11 15:04:53 3727 0
1 条回答
写回答
取消 提交回答
  • 思路很简单,就是在定义触发器时,在需要被控制的语句外面套一层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;

    2019-07-17 18:59:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像