MySql--触发器与事件
MySql--触发器与事件
触发器
MySQL触发器的使用和优缺点介绍:https://www.jb51.net/article/230845.htm
## 触发器创建
DELIMITER $$
CREATE
-- `furn_ssm`.`hasys_session_log_effective_insert` 这个是触发器名称,BEFORE/AFTER INSERT/UPDATE/DELETE 这里可以选择参数
TRIGGER `furn_ssm`.`hasys_session_log_effective_insert` AFTER INSERT
ON `furn_ssm`.`hasys_session_log` -- 这里是指定监控表
FOR EACH ROW BEGIN -- 行级监控(一行变化时)
-- SQL命令
-- 触发事件的操作和触发器里面的SQL语句是一个事物操作,具有原子性,要么全部执行,要么都不执行,无需使用事务来写
-- MySQL 中定义了 NEW 和 OLD 两个临时表,用来表示触发器的所在表中,触发了触发器的哪一行数据,来引用触发器中发生变化的记录内容
-- 具体定义可参考:mysql 触发器与事务 https://blog.csdn.net/qq_54250695/article/details/124587296
END$$
DELIMITER ;
主要用于对表格增删改的监听,如需详细学习请参考以下链接
https://www.bilibili.com/video/BV1qb4y1Y722
事件
主要用于计划任务,定时执行等场景:https://blog.51cto.com/u_15549234/5138457
mysql5.1之后才有event
-- 确认是否开启event功能
SHOW VARIABLES LIKE '%event_sch%';
-- 开启功能(或者启动配置文件中设置)
set global event_scheduler=1;
创建
-- 语法
create event 事件名 on schedule 间隔
starts 时间
ends 时间
Do Sql语句;
-- 示例
-- 建立每隔10分钟执行一次 analyze table aa; 从现在开始,没有结束一直执行
create event x1 on schedule 10 minute
do analyze table aa;
-- 建立每隔1天执行一次 analyze table aa; 从'2013-07-02 12:00:00'开始,一直执行到'2013-12-21 00:00:00'结束
drop event if exists x1; -- 删除之前同名事件
create event x1 on schedule EVERY 1 day
starts '2013-07-02 12:00:00'
ends '2013-12-21 00:00:00'
do analyze table aa;
-- 建立每10秒执行一次 analyze table aa; 从10分钟后开始,一直执行不结束
drop event if exists x1; -- 删除之前同名事件
create event x1 on schedule 10 second
starts current_timestamp + interval 10 minute -- current_timestamp 可以用 now() 替代也可
do analyze table aa;
-- 建立每10分钟执行一次 analyze table aa; 从现在开始,在10天之后结束
drop event if exists x1; -- 删除之前同名事件
create event x1 on schedule 10 minute
ends current_timestamp + interval 10 day
do analyze table aa;
查看删除
show events -- 查看目前拥有的事件信息
SHOW CREATE EVENT `zaixian_zuoxigongzuoliang` -- 查看事件详细信息
drop event 事件名 -- 删除事件
参考链接
mysql的事件调用存储过程_学习mysql事件如何调用存储过程的方法
https://blog.csdn.net/weixin_35726575/article/details/113385589
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix