mysql定时删除数据

1、开启事件调度器
    确认是否开启
        SHOW VARIABLES LIKE 'event_scheduler';
    开启命令

        SET GLOBAL event_scheduler = ON;

2、创建事件

    CREATE EVENT [IFNOT EXISTS] event_name
    ONSCHEDULE schedule
    [ONCOMPLETION [NOT] PRESERVE]
    [ENABLE | DISABLE]
    [COMMENT 'comment']
    DO sql_statement;


create event ucjoy.message_truncate_daily 

ON SCHEDULE EVERY 1 DAY

STARTS date_add(concat(current_date(), ' 00:00:00'), interval 0 second)
ON COMPLETION PRESERVE ENABLE

DO

TRUNCATE table ucjoy.message

------------------------------------------------

ON SCHEDULE EVERY 1 DAY 指定循环间隔为每天执行

STARTS date_add(concat(current_date(), '00:00:00'), interval 0 second) 指定运行时间为00:00:00

ON COMPLETION PRESERVE ENABLE 指定创建完成后即启用,否则需手动启用

do中可以执行一个自定义的存储过程(该存储过程自己实现业务逻辑)

-----------------------------------------------

CREATE EVENT e_test_truncate_daily
        ON SCHEDULE EVERY 1 DAY
        STARTS '2014-09-29 00:00:00'
        DO 

TRUNCATE TABLE test.time_table;

3、 查看是否开始工作

show PROCESSLIST查看是否有event_scheduler的user的进程


4、关闭和开启事件
    ALTER EVENT event_name DISABLE;
    ALTER EVENT event_name ENABLE;


5、删除事件
    DROP EVENT [IF EXISTS] event_name

6、查看事件
    SHOW EVENTS;

你可能感兴趣的:(mysql)