MySQL Events详解

原文链接:http://www.javaarch.net/jiagoushi/751.htm

MySQL Events详解

MySQL Events是能够在特定时间执行的query语句集合。

首先要开启mysql events

	SHOW VARIABLES LIKE "EVENT_SCHEDULER";
	SET GLOBAL event_scheduler=ON;
	
通过执行SHOW VARIABLES LIKE 'EVENT_SCHEDULER'; 确定已经开启,正在执行的events可以通过 SHOW PROCESSLIST;查看。

创建一个event

	DELIMITER $$
	CREATE EVENT first_event
	ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 MINUTE
	DO
	  BEGIN
		UPDATE table_name SET field_name = field_name + 1;
	  END;
	$$;
	
通过SHOW EVENTS;查看在BEGIN 和END之间可以添加多个query语句,用;分隔。上面这个event只会执行一次,然后就被删除。如果我们使用ON COMPLETION PRESERVE,则event不会被删除。下面这个会每隔5天执行一次。

	DELIMITER $$
	CREATE EVENT first_event
	ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 MINUTE
	ON COMPLETION PRESERVE
	DO
	  BEGIN
		UPDATE table_name SET field_name = field_name + 1;
	  END;
	$$;
	
我们可以通过ALTER EVENT来编辑一个event,
通过arter来重命名一个event

	ALTER EVENT first_event 
	RENAME TO first_event_edited;
	
通过drop删除一个event 
	
	DROP EVENT first_event;
 

posted @ 2013-06-04 17:40  zhwj184  阅读(316)  评论(0编辑  收藏  举报