MySQL定时任务event
CREATE TABLE `tbl_base_count` ( `id` int(11) NOT NULL AUTO_INCREMENT, `CAPTCHA` varchar(12) COLLATE utf8_bin NOT NULL, `PHONE` varchar(12) COLLATE utf8_bin NOT NULL, `SENDTIME` varchar(32) COLLATE utf8_bin NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE EVENT `e_del_tbl_base_count` ON SCHEDULE EVERY 1 DAY STARTS '2013-06-23 17:33:43' ON COMPLETION NOT PRESERVE ENABLE DO CALL p_del_count (90);
3.创建存储过程:
p_del_count DELIMITER $$---- 存储过程--CREATE PROCEDURE `p_del_count`(IN `date_inter` INT)BEGIN DELETE FROM LOG WHERE (TO_DAYS(NOW()) - TO_DAYS(FROM_UNIXTIME(SENDTIME)))>=date_inter;END$$DELIMITER ;
SHOW VARIABLES LIKE 'event_scheduler'; SELECT @@event_scheduler; SHOW PROCESSLIST;
SET GLOBAL event_scheduler = 1; SET @@global.event_scheduler = 1; SET GLOBAL event_scheduler = ON; SET @@global.event_scheduler = ON;
开启某事件:ALTER EVENT e_del_logs ON COMPLETION PRESERVE ENABLE;关闭某事件:ALTER EVENT e_del_logs ON COMPLETION PRESERVE DISABLE;