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

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;
相关推荐
xier_ran1 小时前
【infra之路】GPU 存储层次总结:L1 / L2 / HBM
java·网络·数据库
山甫aa3 小时前
Javaweb---MyBatis增删改查
java·数据库·后端·mybatis·springboot
@insist1234 小时前
系统集成项目管理工程师-信息和文档管理
网络·数据库·软考·系统集成项目管理工程师·软考中项·软件水平考试
残 风5 小时前
PostgreSQL 存储机制详解
数据库·postgresql·开源·数据库开发
JacksonMx6 小时前
Java CompletableFuture 异步编程实战:从入门到架构师避坑指南
linux·数据库·python
tachibana26 小时前
性能指标的口径选择
数据库·人工智能·架构·大模型·llm
机器人梦想家7 小时前
具身机器人视觉服务的异步回调与并发控制
数据库·算法·机器人
菀亓7 小时前
ubuntu系统mysql安装
mysql
小妖同学学AI7 小时前
开源向量数据库的王者:Milvus 深度解析,专为 AI 应用打造的云原生搜索引擎!
数据库·开源·milvus