mysql触发器
1、将删除的记录保存的历史表:
DROP TRIGGER IF EXISTS `tri_delete_dict`; DELIMITER ;; CREATE TRIGGER `tri_delete_dict` AFTER DELETE ON `scm_dict` FOR EACH ROW begin INSERT INTO scm_dict_history(old_id, create_by, update_by,del_flag,create_date,update_date,remarks,DictItemID,DictSortID,DictItemCode,DictItemName,DictItemSName, DispName,DictItemFName,PID ) VALUES (old.id, old.create_by, old.update_by,old.del_flag,old.create_date,old.update_date,old.remarks,old.DictItemID ,old.DictSortID,old.DictItemCode,old.DictItemName,old.DictItemSName, old.DispName,old.DictItemFName,old.PID); end ;; DELIMITER ;
表:
/* Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 100408 Source Host : localhost Source Database : scm Target Server Type : MySQL Target Server Version : 100408 File Encoding : utf-8 Date: 01/20/2020 09:55:41 AM */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for `scm_dict_history` -- ---------------------------- DROP TABLE IF EXISTS `scm_dict_history`; CREATE TABLE `scm_dict_history` ( `id` int(64) NOT NULL AUTO_INCREMENT COMMENT 'id', `create_by` varchar(64) DEFAULT NULL COMMENT '创建者', `update_by` varchar(64) DEFAULT NULL COMMENT '更新者', `del_flag` char(1) DEFAULT NULL COMMENT '删除标记', `create_date` datetime DEFAULT NULL COMMENT '创建时间', `update_date` datetime DEFAULT NULL COMMENT '更新时间', `remarks` varchar(500) DEFAULT NULL COMMENT '备注', `DictItemID` varchar(36) NOT NULL COMMENT '字典项ID', `DictSortID` varchar(36) NOT NULL COMMENT '字典类ID', `DictItemCode` varchar(100) DEFAULT NULL COMMENT '字典项编号', `DictItemName` varchar(200) DEFAULT NULL COMMENT '字典项名称', `DictItemSName` varchar(200) DEFAULT NULL COMMENT '字典项简称', `DispName` varchar(200) DEFAULT NULL COMMENT '显示名称', `DictItemFName` varchar(200) DEFAULT NULL COMMENT '字典项全称', `PID` varchar(36) DEFAULT NULL COMMENT '上级ID', `ListOrder` int(11) DEFAULT NULL COMMENT '排列顺序', `LevelCode` varchar(200) DEFAULT NULL COMMENT '分级码', `IsLowest` int(11) DEFAULT NULL COMMENT '是否末级(0-否,1-是)', `Level` int(11) DEFAULT NULL COMMENT '级次', `DataStatus` int(11) DEFAULT NULL COMMENT '数据状态(-1-已删除,0-停用或无效,1-启用或有效)', `CreateDT` datetime DEFAULT NULL COMMENT '创建时间', `ModifyDT` datetime DEFAULT NULL COMMENT '更新时间', `ExpDate` datetime DEFAULT NULL COMMENT '失效日期', `EffDate` datetime DEFAULT NULL COMMENT '生效日期', `Remark` varchar(1000) DEFAULT NULL COMMENT '备注', `DataOrgID` varchar(36) DEFAULT NULL COMMENT '数据所属机构ID', `DataOrgName` varchar(200) DEFAULT NULL COMMENT '数据所属名称', `DataGroupOrgID` varchar(36) DEFAULT NULL COMMENT '数据所属局机构ID', `DataGroupOrgName` varchar(200) DEFAULT NULL COMMENT '数据所属局机构名称', `ExtractDate` datetime DEFAULT NULL COMMENT '数据抽取时间', `DataSourceBussSysID` varchar(36) DEFAULT NULL COMMENT '数据来源业务系统ID', `DataSourceBussSysName` varchar(100) DEFAULT NULL COMMENT '数据来源业务系统名称', `IsAllowAddChildItem` int(11) DEFAULT NULL COMMENT '是否允许增加下级(0-不允许,1允许)', `old_id` varchar(64) DEFAULT NULL COMMENT '原表ID', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='字典表'; SET FOREIGN_KEY_CHECKS = 1;