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;

  

www.beicaiduo.com
原文地址:https://www.cnblogs.com/hoge66/p/12216766.html