数据库触发器简介——修改数据的触发器、删除数据的触发器

1.修改数据的触发器

修改数据的触发器

bash 复制代码
create trigger tb_user_update_trigger
	after update on tb_user for each row
begin
	insert int user_logs(id,operation,operate_time,operate_id,operate_params)VALUES
	(null,'update',now(),new.id,concat
	('更新之前的数据:id=',new.id,',name=',new.name,', phone=',new.phone,', email=',new.email,', profession=',new.profession
	' | 更新之后的数据:id=',new.id,',name=',new.name,', phone=',new.phone,', email=',new.email,', profession=',new.profession));
end;

show triggers;

更新数据

bash 复制代码
update tb_user set age = 32 where id = 23;

思考下面这个触发器会触发几次?几条数据就触发几次。

bash 复制代码
update tb_user set age = 32 where id <= 5;

2.删除数据的触发器

bash 复制代码
create trigger tb_user_delete_trigger
	after delete on tb_user for each row
begin
	insert int user_logs(id,operation,operate_time,operate_id,operate_params)VALUES
	(null,'delete',now(),old.id,concat
	('删除之前的数据:id=',new.id,',name=',new.name,', phone=',new.phone,', email=',new.email,', profession=',new.profession);
end;

show triggers;
bash 复制代码
delete from tb_user where id = 5;
相关推荐
sc.溯琛16 分钟前
MySQL 入门实验:环境搭建与基础操作全攻略
数据库·mysql
徐子童19 分钟前
索引的分类和创建
mysql·面试·基础·索引
JIngJaneIL21 分钟前
基于java+ vue建筑材料管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
一 乐24 分钟前
办公系统|基于springboot + vueOA办公管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·spring
麦麦鸡腿堡30 分钟前
MySQL表的操作指令与常用数值类型
数据库·mysql
蜂蜜黄油呀土豆31 分钟前
MySQL 什么情况下会产生死锁?为什么会死锁?以及 Online DDL 解决了什么问题
mysql·innodb·间隙锁·数据库原理·next-key lock·死锁分析
煎蛋学姐35 分钟前
SSM小学教师教辅管理平台526h9(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库
java1234_小锋1 小时前
说说Redis的内存淘汰策略?
数据库·redis·缓存
她说..1 小时前
Spring AOP场景4——事务管理(源码分析)
java·数据库·spring boot·后端·sql·spring·springboot
道剑剑非道1 小时前
Qt【使用libmodbus库】
开发语言·数据库·qt