这是矿井表并触发定义:
DROP TABLE IF EXISTS `tbl_name`;
CREATE TABLE `tbl_name` (
`id` INT(10) NOT NULL COMMENT 'name ID',
`name` VARCHAR(50) NOT NULL COMMENT 'name',
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `tbl_audit_log`;
CREATE TABLE `tbl_audit_log` (
`id` INT (10) NOT NULL AUTO_INCREMENT COMMENT 'audit ID',
`action` VARCHAR (10) NOT NULL COMMENT 'tbl_name action',
`old_row_value` LONGTEXT COMMENT 'old row data value',
`new_row_value` LONGTEXT COMMENT 'new row data value',
`time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 'action time',
PRIMARY KEY (`id`)
) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8;
DROP TRIGGER IF EXISTS `audit_name_update`;
DELIMITER ;;
CREATE TRIGGER `audit_name_update` AFTER UPDATE ON `tbl_name` FOR EACH ROW # After Update trigger
BEGIN
DECLARE k_old_value VARCHAR (4000) ;
DECLARE k_new_value VARCHAR (4000) ;
SET k_old_value = CONCAT( '(', old.`id`, ',', old.`name`, ')' ) ;
SET k_new_value = CONCAT( '(', new.`id`, ',', new.`name`, ')' ) ;
INSERT INTO `tbl_audit_log` ( `action`, `old_row_value`, `new_row_value`, `time` )
VALUES ( 'update', k_old_value, k_new_value, NOW() ) ;
END;;
DELIMITER ;