mysql触发器
为了监听表变化学习的这个东西
首先准备了两个表:记录表,和用户表。用以记录用户表的变化
语法
CREATE TRIGGER 触发器名称 {BEFORE|AFTER}
{INSERT|UPDATE|DELETE} ON 表名
FOR EACH ROW
触发器执行的语句块;
表名:表示触发器监控的对象。
BEFORE|AFTER:表示触发的时间。BEFORE 表示在事件之前触发;AFTER 表示在事件之后触发。
INSERT|UPDATE|DELETE:表示触发的事件。
INSERT 表示插入记录时触发;
UPDATE 表示更新记录时触发;
DELETE 表示删除记录时触发。
触发器执行的语句块:可以是单条SQL语句,也可以是由BEGIN…END结构组成的复合语句块。
示例
create trigger after_insert_user after INSERT
on sys_user for each row
INSERT sys_option (t_name,t_option,t_key) VALUES ('新增','新增',NEW.user_id)
表新增的时候将表的信息记录,其中NEW.可以获取操作的用户信息。
查看触发器
方式1:查看当前数据库的所有触发器的定义
SHOW TRIGGERS;
1
方式2:查看当前数据库中某个触发器的定义
SHOW CREATE TRIGGER 触发器名
1
方式3:从系统库information_schema的TRIGGERS表中查询触发器的信息。
SELECT * FROM information_schema.TRIGGERS;
删除触发器
DROP TRIGGER IF EXISTS 触发器名称;
这个文档写的比较全面,我只是做记录,记录一下用到的技术点。
参考文档:该如何使用MySQL的触发器?_mysql触发器_我是一棵卷心菜的博客-CSDN博客