一、首先创建一个存放历史表的数据库。

-- 创建历史库
create database lianxin_history;

二、创建要备份的数据表

use lianxin_history;
-- 创建历史库中的equipment_info同构表以及增加两个记录操作状态字段
create table `equipment_info` select * from `lianxin_trace`.`equipment_info` where 1<0;
ALTER TABLE `equipment_info`
ADD COLUMN `OPERATE_TYPE` VARCHAR(15) NULL COMMENT '操作类型:INSERT(新增),UPDATE(更新),DELETE(删除)',
ADD COLUMN `OPERATE_TIME` DATETIME NULL DEFAULT NOW() COMMENT '操作时间,自动生成';

三、创建触发器

1、新增的触发器。

-- 下方是创建数据源表触发器脚本
use lianxin_trace;-- 向历史库创建一条新增记录(equipment_info表)
DROP TRIGGER IF EXISTS `lianxin_trace`.`equipment_info_AFTER_INSERT`;DELIMITER $$
USE `lianxin_trace`$$
CREATE DEFINER = CURRENT_USER TRIGGER `lianxin_trace`.`equipment_info_AFTER_INSERT` AFTER INSERT ON `equipment_info` FOR EACH ROW
BEGININSERT INTO lianxin_history.equipment_info (EQUIPMENT_ID, EQUIPMENT_NAME, EQUIPMENT_CODE, PRODUCER, STATUS, PRODUCTION_TIME, ENTER_TIME, VALID_TIME, ESTIMATE, CONFIRM_RESULT, CONFIRM_TIME, CONFIRM_ITEM_INFO, USED, REMARKS, LEAVE_POS, RELA_PDA_FLAG, PDA_EQUIPMENT_CODE, ALIVE_FLAG, ADD_USER_ID, ADD_TIME, OPR_USER_ID, OPR_TIME, USE_LOCATION, OPERATE_TYPE, OPERATE_TIME) VALUES (NEW.EQUIPMENT_ID, NEW.EQUIPMENT_NAME, NEW.EQUIPMENT_CODE, NEW.PRODUCER, NEW.STATUS, NEW.PRODUCTION_TIME, NEW.ENTER_TIME, NEW.VALID_TIME, NEW.ESTIMATE, NEW.CONFIRM_RESULT, NEW.CONFIRM_TIME, NEW.CONFIRM_ITEM_INFO, NEW.USED, NEW.REMARKS, NEW.LEAVE_POS, NEW.RELA_PDA_FLAG, NEW.PDA_EQUIPMENT_CODE, NEW.ALIVE_FLAG, NEW.ADD_USER_ID, NEW.ADD_TIME, NEW.OPR_USER_ID, NEW.OPR_TIME, NEW.USE_LOCATION, 'INSERT', NOW());
END$$
DELIMITER ;

2、修改的触发器

-- 下方是创建数据源表触发器脚本
use lianxin_trace;-- 向历史库创建一条修改记录(equipment_info表)
DROP TRIGGER IF EXISTS `lianxin_trace`.`equipment_info_AFTER_UPDATE`;DELIMITER $$
USE `lianxin_trace`$$
CREATE DEFINER = CURRENT_USER TRIGGER `lianxin_trace`.`equipment_info_AFTER_UPDATE` AFTER UPDATE ON `equipment_info` FOR EACH ROW
BEGININSERT INTO lianxin_history.equipment_info (EQUIPMENT_ID, EQUIPMENT_NAME, EQUIPMENT_CODE, PRODUCER, STATUS, PRODUCTION_TIME, ENTER_TIME, VALID_TIME, ESTIMATE, CONFIRM_RESULT, CONFIRM_TIME, CONFIRM_ITEM_INFO, USED, REMARKS, LEAVE_POS, RELA_PDA_FLAG, PDA_EQUIPMENT_CODE, ALIVE_FLAG, ADD_USER_ID, ADD_TIME, OPR_USER_ID, OPR_TIME, USE_LOCATION, OPERATE_TYPE, OPERATE_TIME) VALUES (NEW.EQUIPMENT_ID, NEW.EQUIPMENT_NAME, NEW.EQUIPMENT_CODE, NEW.PRODUCER, NEW.STATUS, NEW.PRODUCTION_TIME, NEW.ENTER_TIME, NEW.VALID_TIME, NEW.ESTIMATE, NEW.CONFIRM_RESULT, NEW.CONFIRM_TIME, NEW.CONFIRM_ITEM_INFO, NEW.USED, NEW.REMARKS, NEW.LEAVE_POS, NEW.RELA_PDA_FLAG, NEW.PDA_EQUIPMENT_CODE, NEW.ALIVE_FLAG, NEW.ADD_USER_ID, NEW.ADD_TIME, NEW.OPR_USER_ID, NEW.OPR_TIME, NEW.USE_LOCATION, 'UPDATE', NOW());
END$$
DELIMITER ;

3、删除的触发器

-- 下方是创建数据源表触发器脚本
use lianxin_trace;-- 向历史库创建一条删除记录(equipment_info表)
DROP TRIGGER IF EXISTS `lianxin_trace`.`equipment_info_BEFORE_DELETE`;DELIMITER $$
USE `lianxin_trace`$$
CREATE DEFINER = CURRENT_USER TRIGGER `lianxin_trace`.`equipment_info_BEFORE_DELETE` BEFORE DELETE ON `equipment_info` FOR EACH ROW
BEGININSERT INTO lianxin_history.equipment_info (EQUIPMENT_ID, EQUIPMENT_NAME, EQUIPMENT_CODE, PRODUCER, STATUS, PRODUCTION_TIME, ENTER_TIME, VALID_TIME, ESTIMATE, CONFIRM_RESULT, CONFIRM_TIME, CONFIRM_ITEM_INFO, USED, REMARKS, LEAVE_POS, RELA_PDA_FLAG, PDA_EQUIPMENT_CODE, ALIVE_FLAG, ADD_USER_ID, ADD_TIME, OPR_USER_ID, OPR_TIME, USE_LOCATION, OPERATE_TYPE, OPERATE_TIME) VALUES (OLD.EQUIPMENT_ID, OLD.EQUIPMENT_NAME, OLD.EQUIPMENT_CODE, OLD.PRODUCER, OLD.STATUS, OLD.PRODUCTION_TIME, OLD.ENTER_TIME, OLD.VALID_TIME, OLD.ESTIMATE, OLD.CONFIRM_RESULT, OLD.CONFIRM_TIME, OLD.CONFIRM_ITEM_INFO, OLD.USED, OLD.REMARKS, OLD.LEAVE_POS, OLD.RELA_PDA_FLAG, OLD.PDA_EQUIPMENT_CODE, OLD.ALIVE_FLAG, OLD.ADD_USER_ID, OLD.ADD_TIME, OLD.OPR_USER_ID, OLD.OPR_TIME, OLD.USE_LOCATION, 'DELETE', NOW());
END;$$
DELIMITER ;

测试结果:

如何使用MYSQL触发器,备份历史记录?相关推荐

  1. MySql 触发器同步备份数据表记录

    添加记录到新记录表 DELIMITER $$ USE `DB_Test`$$ CREATE/*!50017 DEFINER = 'root'@'%' */TRIGGER `InsertOPM_Alar ...

  2. MySQL Xtrabackup备份和恢复

    简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具.特点: (1)备份过程快速.可靠 ...

  3. MySQL 触发器应用案例

    网友问题:对于MySQL主从复制结构中,如何让Slave过滤delete操作. 问题分析:该问题对应的是保全所有的记录,包括delete的记录. 对于MySQL本身的过滤规则粒度是精确到表的粒度. 主 ...

  4. linux设置mysql定时任务_原创 Linux下实现Mysql定时任务备份数据

    本实例将创建目录放置于/mnt目录下,可根据具体情况放置于其他目录: cd /mnt mkdir dbback pwd /mnt/dbback 创建shell脚本 脚本名称可根据自己规范进行自定义: ...

  5. MySQL 的备份和恢复机制 MyISAM 和 Innodb

    转自:http://blog.csdn.net/sosoft_dzz/article/details/5299666 deven感觉这个文章还是比较靠谱的. 本文讨论 MySQL 的备份和恢复机制,以 ...

  6. 2.5.1 MySQL数据库备份恢复基础讲解

    MySQL数据库备份恢复基础 MySQL常见的故障类型 对于用户来说,数据库中保存的数据通常至关重要,所以要采取各种手段来防止各种可能的数据损失和数据故障. DBA主要任务就是维持数据库的高可靠性运行 ...

  7. mysql数据库备份总结_MySQL数据库备份总结

    一个企业的正常运行,数据的完整性是最关键的:所以我们需要在工作中要很熟练的掌握数据的备份与恢复方法:下面是对Mysql数据库备份的三种方法总结,希望对大家会有所帮助 备份开始前的工作环境准备: 1.创 ...

  8. MySQL 数据备份与还原

    数据的备份类型 数据的备份类型根据其自身的特性主要分为以下几组 1.完全备份备份整个数据集( 即整个数据库 ).部分备份指的是备份部分数据集(例如: 只备份一个表) 2.部分备份 而部分备份又分为以下 ...

  9. mysql 数据备份方案_MySQL常见备份方案

    MySQL常见备份方案有以下三种: mysqldump + binlog lvm + binlog xtrabackup 本例为方便演示,数据库里面数据为空.下面开始动手 mkdir /opt/bac ...

  10. linux mysql集群 备份与恢复,Linux下MySQL的备份和恢复

    MySQL备份的原因1. 灾难恢复 2. 审计 3. 测试1234512345 mysql的备份类型1. 根据服务器的在线状态: 热备:服务器处于运行状态 冷备:服务器出去停止状态 温备:服务器处于半 ...

最新文章

  1. OpenStack环境搭建(二:Fuel Master的安装及配置)
  2. 【Rsync项目实战一】备份全网服务器数据
  3. servlet增删改查实例_SpringMVC4+MyBatis3+SQLServer 2014 整合(包括增删改查分页)
  4. 前端调试、兼容、适配指南与工具分享
  5. QtCreator无法编辑源文件
  6. golang 关闭gc 并手动gc_Golang垃圾回收 屏障技术
  7. 本硕一致计算机科学与技术专业介绍,哈尔滨理工大学计算机科学与技术专业介绍...
  8. java day06【类与对象、封装、构造方法】
  9. 科学函数计算机怎么关机,函数计算器的功能有哪些?关机是哪个键?
  10. 在线html解压,javascript实现网页端解压并查看zip文件
  11. 数据中心网络架构 — 网络带宽的收敛比
  12. 揭秘交通大脑——BATJ技术争夺战,滴滴与高德的AI新版图
  13. AI算法之Encoder-Decoder 和 Seq2Seq
  14. HCTF2017-Web-Writeup
  15. Unity Webgl内嵌网页页面
  16. 计算机重新装xp系统软件,关于安装软件重启XP电脑后软件不见的处理方法
  17. 阿里巴巴-新加坡南洋理工大学成立联合研究院 开展全方位AI合作
  18. JAVA学习笔记五---函数
  19. 小朋友排队(树状数组)
  20. 有什么日常可行的脑力锻炼方法,保持脑部活力?

热门文章

  1. NMT、enc-dec的一些笔记
  2. proxyee-down批量下载
  3. 雷军称小米不会进军电动汽车及房地产等新领域
  4. 南方电网要的计算机二级吗,考南方电网需要过计算机二级和英语四级么
  5. Verilog实现1位全加器及输出逻辑解析
  6. PHYML32/10/15/20/30泡沫罐生产厂家品牌哪家好数据分析
  7. Java多态的概念及简单实现
  8. 请保持CSDN的纯洁
  9. 火狐firefox插件:Tab Center Reborn 侧边垂直标签栏【隐藏顶部标签栏】
  10. 【第十三届全国大学生数学竞赛非数学类】真就参加就有奖