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
    ;;
  • 相关阅读:
    JavaScript中Null和Undefined的区别
    javascript中的计算题
    数组去重
    javascript面向对象中继承实现的几种方式
    数列求值 题解
    首字母变大写 题解
    发工资咯:) 题解
    绝对值排序 题解
    数列有序 题解
    母牛的故事 题解
  • 原文地址:https://www.cnblogs.com/toumingbai/p/4758207.html
Copyright © 2011-2022 走看看