其他分享
首页 > 其他分享> > 事件EVENT

事件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

 

标签:audit,yearly,01,rows,事件,stale,EVENT
来源: https://www.cnblogs.com/alone4436/p/15318047.html