mysql触发器使用,触发器内不能有事物提交回滚,触发器做增量数据
-- ruoyi_base.system_dictdata definition
CREATE TABLE `test_info` (
`id` int NOT NULL AUTO_INCREMENT,
`dept_belong_id` varchar(256) DEFAULT NULL,
`update_datetime` int ,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
drop table ruoyi_base.test_info_log;
CREATE TABLE `test_info_log` (
`id` int NOT NULL ,
`log_txt` varchar(256) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
select * from ruoyi_base.test_info;
select * from test_info_log;
insert into ruoyi_base.test_info (id,dept_belong_id,update_datetime) values (3,"王五",100);
drop trigger tig_test_info;
-- 触发器创建
create trigger tig_test_info
before update on test_info
for each row
begin
if new.update_datetime <> old.update_datetime or
new.dept_belong_id <> old.dept_belong_id
then
insert into test_info_log(id,log_txt) values(new.id,concat(new.dept_belong_id,new.update_datetime));
end if;
end ;
update ruoyi_base.test_info set update_datetime = update_datetime + 0,dept_belong_id = '张三1'
where id=1;
truncate table ruoyi_base.test_info_log;
select * from ruoyi_base.test_info_log;
自动化学习。

浙公网安备 33010602011771号