zoukankan      html  css  js  c++  java
  • 触发器写法

    CREATE TABLE IF NOT EXISTS `wp_postmeta_log` (
      `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
      `table_name` varchar(15) DEFAULT NULL,
      `action` varchar(15) DEFAULT NULL,
      `meta_id` bigint(20) unsigned NOT NULL,
      `post_id` bigint(20) unsigned NOT NULL DEFAULT '0',
      `meta_key` varchar(255) DEFAULT NULL,
      `meta_value` longtext,
      `startDate` datetime DEFAULT NULL,
      `endDate` datetime DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `post_id` (`post_id`),
      KEY `meta_key` (`meta_key`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=14894 ;
    
    DELIMITER //
    /* Trigger for INSERT */
    CREATE TRIGGER WpPostMetaInsert AFTER INSERT ON wp_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
     
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_postmeta', 'INSERT', NEW.meta_id, NEW.post_id, NEW.meta_key, NEW.meta_value, N, NULL);
    END //
    
    /* Trigger for DELETE */
    CREATE TRIGGER WpPostMetaDelete AFTER DELETE ON wp_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
    
       UPDATE wp_postmeta_log
          SET EndDate = N
        WHERE meta_id = OLD.meta_id
          AND EndDate IS NULL;
    
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_postmeta', 'DELETE', OLD.meta_id, OLD.post_id, OLD.meta_key, OLD.meta_value, N, NULL);
    END //
    
    /* Trigger for UPDATE */
    CREATE TRIGGER WpPostMetaUpdate AFTER UPDATE ON wp_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
    
       UPDATE wp_postmeta_log
          SET EndDate = N
        WHERE meta_id = OLD.meta_id
          AND EndDate IS NULL;
     
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_postmeta', 'UPDATE', NEW.meta_id, NEW.post_id, NEW.meta_key, NEW.meta_value, N, NULL);
    END //
    
    /* --- */
    
    /* Trigger for INSERT */
    CREATE TRIGGER WpPostMetaInsert2 AFTER INSERT ON wp_2_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
     
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_2_postmeta', 'INSERT', NEW.meta_id, NEW.post_id, NEW.meta_key, NEW.meta_value, N, NULL);
    END //
    
    /* Trigger for DELETE */
    CREATE TRIGGER WpPostMetaDelete2 AFTER DELETE ON wp_2_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
    
       UPDATE wp_postmeta_log
          SET EndDate = N
        WHERE meta_id = OLD.meta_id
          AND EndDate IS NULL;
    
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_2_postmeta', 'DELETE', OLD.meta_id, OLD.post_id, OLD.meta_key, OLD.meta_value, N, NULL);
    END //
    
    /* Trigger for UPDATE */
    CREATE TRIGGER WpPostMetaUpdate2 AFTER UPDATE ON wp_2_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
    
       UPDATE wp_postmeta_log
          SET EndDate = N
        WHERE meta_id = OLD.meta_id
          AND EndDate IS NULL;
     
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_2_postmeta', 'UPDATE', NEW.meta_id, NEW.post_id, NEW.meta_key, NEW.meta_value, N, NULL);
    END //
    
    /* --- */
    
    /* Trigger for INSERT */
    CREATE TRIGGER WpPostMetaInsert3 AFTER INSERT ON wp_3_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
     
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_3_postmeta', 'INSERT', NEW.meta_id, NEW.post_id, NEW.meta_key, NEW.meta_value, N, NULL);
    END //
    
    /* Trigger for DELETE */
    CREATE TRIGGER WpPostMetaDelete3 AFTER DELETE ON wp_3_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
    
       UPDATE wp_postmeta_log
          SET EndDate = N
        WHERE meta_id = OLD.meta_id
          AND EndDate IS NULL;
    
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_3_postmeta', 'DELETE', OLD.meta_id, OLD.post_id, OLD.meta_key, OLD.meta_value, N, NULL);
    END //
    
    /* Trigger for UPDATE */
    CREATE TRIGGER WpPostMetaUpdate3 AFTER UPDATE ON wp_3_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
    
       UPDATE wp_postmeta_log
          SET EndDate = N
        WHERE meta_id = OLD.meta_id
          AND EndDate IS NULL;
     
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_3_postmeta', 'UPDATE', NEW.meta_id, NEW.post_id, NEW.meta_key, NEW.meta_value, N, NULL);
    END //
    
    /* --- */
    
    /* Trigger for INSERT */
    CREATE TRIGGER WpPostMetaInsert4 AFTER INSERT ON wp_4_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
     
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_4_postmeta', 'INSERT', NEW.meta_id, NEW.post_id, NEW.meta_key, NEW.meta_value, N, NULL);
    END //
    
    /* Trigger for DELETE */
    CREATE TRIGGER WpPostMetaDelete4 AFTER DELETE ON wp_4_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
    
       UPDATE wp_postmeta_log
          SET EndDate = N
        WHERE meta_id = OLD.meta_id
          AND EndDate IS NULL;
    
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_4_postmeta', 'DELETE', OLD.meta_id, OLD.post_id, OLD.meta_key, OLD.meta_value, N, NULL);
    END //
    
    /* Trigger for UPDATE */
    CREATE TRIGGER WpPostMetaUpdate4 AFTER UPDATE ON wp_4_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
    
       UPDATE wp_postmeta_log
          SET EndDate = N
        WHERE meta_id = OLD.meta_id
          AND EndDate IS NULL;
     
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_4_postmeta', 'UPDATE', NEW.meta_id, NEW.post_id, NEW.meta_key, NEW.meta_value, N, NULL);
    END //
    
    /* --- */
    
    /* Trigger for INSERT */
    CREATE TRIGGER WpPostMetaInsert5 AFTER INSERT ON wp_5_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
     
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_5_postmeta', 'INSERT', NEW.meta_id, NEW.post_id, NEW.meta_key, NEW.meta_value, N, NULL);
    END //
    
    /* Trigger for DELETE */
    CREATE TRIGGER WpPostMetaDelete5 AFTER DELETE ON wp_5_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
    
       UPDATE wp_postmeta_log
          SET EndDate = N
        WHERE meta_id = OLD.meta_id
          AND EndDate IS NULL;
    
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_5_postmeta', 'DELETE', OLD.meta_id, OLD.post_id, OLD.meta_key, OLD.meta_value, N, NULL);
    END //
    
    /* Trigger for UPDATE */
    CREATE TRIGGER WpPostMetaUpdate5 AFTER UPDATE ON wp_5_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
    
       UPDATE wp_postmeta_log
          SET EndDate = N
        WHERE meta_id = OLD.meta_id
          AND EndDate IS NULL;
     
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_5_postmeta', 'UPDATE', NEW.meta_id, NEW.post_id, NEW.meta_key, NEW.meta_value, N, NULL);
    END //
    
    /* --- */
    
    /* Trigger for INSERT */
    CREATE TRIGGER WpPostMetaInsert6 AFTER INSERT ON wp_6_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
     
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_6_postmeta', 'INSERT', NEW.meta_id, NEW.post_id, NEW.meta_key, NEW.meta_value, N, NULL);
    END //
    
    /* Trigger for DELETE */
    CREATE TRIGGER WpPostMetaDelete6 AFTER DELETE ON wp_6_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
    
       UPDATE wp_postmeta_log
          SET EndDate = N
        WHERE meta_id = OLD.meta_id
          AND EndDate IS NULL;
    
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_6_postmeta', 'DELETE', OLD.meta_id, OLD.post_id, OLD.meta_key, OLD.meta_value, N, NULL);
    END //
    
    /* Trigger for UPDATE */
    CREATE TRIGGER WpPostMetaUpdate6 AFTER UPDATE ON wp_6_postmeta FOR EACH ROW BEGIN
       DECLARE N DATETIME;
       SET N = now();
    
       UPDATE wp_postmeta_log
          SET EndDate = N
        WHERE meta_id = OLD.meta_id
          AND EndDate IS NULL;
     
       INSERT INTO wp_postmeta_log (table_name, action, meta_id, post_id, meta_key, meta_value, StartDate, EndDate)
       VALUES ('wp_6_postmeta', 'UPDATE', NEW.meta_id, NEW.post_id, NEW.meta_key, NEW.meta_value, N, NULL);
    END //
    

      

  • 相关阅读:
    Ubuntu Server中怎样卸载keepalived
    Winform中实现ZedGraph滚轮缩放后自动重新加载数据
    Winform中自定义添加ZedGraph右键实现设置所有Y轴刻度的上下限
    C#中获取多个对象list中对象共有的属性项
    Windows7中启动Mysql服务时提示:拒绝访问的一种解决方式
    八、子查询实践
    四、bootstrap-Table
    二、sql新增后返回主键|sql 使用 FOR XML PATH实现字符串拼接|sql如果存在就修改不存在就新增
    一、动词、名词、形容词汇位置
    三、TortoiseSVN 单独拉取项目某个文件
  • 原文地址:https://www.cnblogs.com/freespider/p/11207260.html
Copyright © 2011-2022 走看看