• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Mysql中禁用与启动触发器教程【推荐】

    在使用MYSQL过程中,经常会使用到触发器,但是有时使用不当会造成一些麻烦。有没有一种办法可以控制触发器的调用呢?
    触发器顾名思义就是数据库在一定的调条件自动调用的SQL语句,触发器拒绝了人工调用的过程,由数据库MYSQL数据库自动的调用,执行更加高效。

    如何禁用触发器呢?

    1.新建两张表:

    表demo_1:

    CREATE TABLE `demo_1` (
     `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
     `STUNAME` varchar(32) DEFAULT NULL COMMENT '名字',
     `AGE` tinyint(4) DEFAULT NULL COMMENT '年龄',
     PRIMARY KEY (`ID`)
    ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

    表:demo_2

    CREATE TABLE `demo_2` (
     `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
     `STU_ID` int(11) DEFAULT NULL COMMENT '学生编号',
     `MATH` double DEFAULT NULL COMMENT '成绩',
     PRIMARY KEY (`ID`)
    ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

    2.然后给demo_1创建一个触发器

    DROP TRIGGER IF EXISTS `insertTragger`;
    DELIMITER ;;
    CREATE TRIGGER `insertTragger` AFTER INSERT ON `demo_1` FOR EACH ROW begin
    select ID INTO @v1 from demo_1 order by ID desc limit 1;
    Insert into demo_2(STU_ID, MATH) values(@v1, 98.5);
    end
    ;;
    DELIMITER ;

    3.触发器是:在demo_1中添加一条数据时,demo_2中自动添加一条数据。

    4.但是我不想每次出入数据都触发触发器呢,只有在我想触发的时候才触发。

    重新编写触发器:

    DROP TRIGGER IF EXISTS `insertTragger`;
    DELIMITER ;;
    CREATE TRIGGER `insertTragger` AFTER INSERT ON `demo_1` FOR EACH ROW begin
    if @enable_trigger = 1 then
    select ID INTO @v1 from demo_1 order by ID desc limit 1;
    Insert into demo_2(STU_ID, MATH) values(@v1, 98.5);
    end if;
    end
    ;;
    DELIMITER ;

    5.调用触发器

    SET @enable_trigger = 1;
    INSERT INTO demo_1(STUNAME , AGE) VALUES(‘小强', 17);
    执行之后,表demo_1中增加一条数据
    2 小强 17
    表demo_2中同样也增加一条数据
    2 2 98.5

    6.禁用触法器

    SET @enable_trigger = 0;
    INSERT INTO demo_1(STUNAME , AGE) VALUES(‘小强', 17);
    执行之后:
    执行之后,表demo_1中增加一条数据
    2 小强 17

    表demo_2中没有增加任何数据

    以上就解决了触发器的灵活调用。

    总结

    以上所述是小编给大家介绍的Mysql中禁用与启动触发器教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    您可能感兴趣的文章:
    • mysql 触发器语法与应用示例
    • MySql视图触发器存储过程详解
    • mysql触发器原理与用法实例分析
    • mysql日志触发器实现代码
    • mysql触发器之触发器的增删改查操作示例
    • mysql触发器之创建多个触发器操作实例分析
    • mysql触发器之创建使用触发器简单示例
    • mysql触发器简介、创建触发器及使用限制分析
    • MySQL 触发器定义与用法简单实例
    • MySQL触发器概念、原理与用法详解
    • 详解MySQL数据库之触发器
    上一篇:关于case when语句的报错问题详解
    下一篇:Mysql优化order by语句的方法详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Mysql中禁用与启动触发器教程【推荐】 Mysql,中,禁用,与,启动,触发器,