DROP EVENT IF EXISTS truncate_chatmsg;//存在就消除此事件,用于修改时直接执行 CREATE EVENT IF NOT EXISTS truncate_chatmsg ON SCHEDULE EVERY 1 DAY //每天执行一次 STARTS '2015-06-25 20:00:00' //开始时间为25号8点 DO TRUNCATE TABLE t_chatmessage; //所做的事情,清空表数据
SHOW VARIABLES LIKE 'event_scheduler';
如果现实为on就行了,如果为off,需要手动开启,方法如下:
1、要在mysql.ini中添加event_scheduler=ON,此是防止mysql重启后,事件功能又关闭了
2、执行此语句:SET GLOBAL event_scheduler = ON;
CREATE
[DEFINER = { user | CURRENT_USER }]
EVENT
[IF NOT EXISTS]
event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE | DISABLE ON SLAVE]
[COMMENT 'comment']
DO event_body;
schedule:
AT timestamp [+ INTERVAL interval] ...
| EVERY interval
[STARTS timestamp [+ INTERVAL interval] ...]
[ENDS timestamp [+ INTERVAL interval] ...]
interval:
quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
WEEK | SECOND | YEAR_MONTH | DAY_HOUR |
DAY_MINUTE |DAY_SECOND | HOUR_MINUTE |
HOUR_SECOND | MINUTE_SECOND}
参数详细说明:
DEFINER: 定义事件执行的时候检查权限的用户。
ON SCHEDULE schedule: 定义执行的时间和时间间隔。
ON COMPLETION [NOT] PRESERVE: 定义事件是一次执行还是永久执行,默认为一次执行,即NOT PRESERVE。
ENABLE | DISABLE | DISABLE ON SLAVE: 定义事件创建以后是开启还是关闭,以及在从上关闭。如果是从服务器自动同步主上的创建事件的语句的话,会自动加上DISABLE ON SLAVE。
COMMENT 'comment': 定义事件的注释。