zoukankan      html  css  js  c++  java
  • MySql 触发器简单实例

    一段时间不写又忘了

    /*取消外键约束*/
    SET FOREIGN_KEY_CHECKS=0;
    
    /*创建C1表 主键ID 字段name*/
    DROP TABLE IF EXISTS `c1`;
    CREATE TABLE `c1` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(120) CHARACTER SET utf8mb4 DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MEMORY DEFAULT CHARSET=latin1;
    
    /*C2与C1结构相同 去掉了ID自增*/
    DROP TABLE IF EXISTS `c2`;
    CREATE TABLE `c2` (
      `id` int(11) NOT NULL,
      `name` varchar(120) CHARACTER SET utf8mb4 DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MEMORY DEFAULT CHARSET=latin1;
    
    
    
    
    
    /*给C1创建一个触发器 名称叫c1-insert*//*触发条件是 AFTER INSERT*/
    DROP TRIGGER IF EXISTS `c1-insert`;
    DELIMITER ;;
    CREATE TRIGGER `c1-insert` AFTER INSERT ON `c1` FOR EACH ROW BEGIN 
    /*插入后的ID*/
    SET @id = NEW.id; 
    /*插入后的name*/
    SET @name = NEW.name ;
    INSERT INTO `c2` (`id`, `name`) VALUES (@id,@name); /*插入到C2表*/
    END
    ;;
    
    
    /*给C1创建一个触发器 名称叫c1-update*//*触发条件是 AFTER UPDATE*/
    DELIMITER ;
    DROP TRIGGER IF EXISTS `c1-update`;
    DELIMITER ;;
    CREATE TRIGGER `c1-update` AFTER UPDATE ON `c1` FOR EACH ROW BEGIN.
    /*修改前的ID*/
    SET @id = OLD.id; 
    /*修改后的name*/
    SET @name = NEW.name;
    UPDATE `c2` SET `name`=@name WHERE id = @id; /*更新到C2表*/
    END
    ;;
  • 相关阅读:
    Study Plan The Twelfth Day
    Study Plan The Fifteenth Day
    Study Plan The Seventeenth Day
    Study Plan The Tenth Day
    Study Plan The Eighth Day
    Study Plan The Eleventh Day
    Study Plan The Sixteenth Day
    Study Plan The Thirteenth Day
    Study Plan The Fourteenth Day
    Study Plan The Ninth Day
  • 原文地址:https://www.cnblogs.com/toumingbai/p/4758207.html
Copyright © 2011-2022 走看看