事件EVENT

2021/9/21 23:13:13

本文主要是介绍事件EVENT,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

MySQL中的事件EVENT 是根据计划执行的一堆SQL代码,一个具体的例子就是

MySQL数据库定时删除一些过期的数据...

创建一个事件

DELIMITER $$

CREATE EVENT yearly_delete_stale_audit_rows
ON SCHEDULE
    -- AT '2021-09-21'
    EVERY 1 YEAR STARTS '2019-01-01' ENDS '2029-01-01'
DO BEGIN
    DELETE FROM payments_audit
    WHERE action_date < NOW() - INTERVAL 1 YEAR;
END $$

DELIMITER ;

这段SQL的意思是:

创建一个事件   yearly_delete_stale_audit_rows

 ON SCHEDULE  在事件调度器上,

EVERY 1 YEAR STARTS '2019-01-01' ENDS '2029-01-01' 从2019-01-01 到 2o29-01-01 每年执行一次
AT '2021-09-21'的意思是 在2021-09-21执行一次
DO BEGIN 开始
END $$ 结束
做了什么?
DELETE FROM payments_audit
WHERE action_date < NOW() - INTERVAL 1 YEAR;


查看事件
SHWO EVENTS
SHOW EVENTS LIKE 'yearly%'

更新事件

ALTER EVENT ...
-- ALTER 与 CREATE 的语法完全一致

启用/禁用 事件

-- 启用    
ALTER EVENT yearly_delete_stale_audit_rows ENABLE
-- 禁用
ALTER EVENT yearly_delete_stale_audit_rows DISABLE

删除事件

DROP EVENT IF EXISTS yearly_delete_stale_audit_rows;

courses in bilibili

 


这篇关于事件EVENT的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程