`

MySQL 定时任务 schedule event task

 
阅读更多
  A simple event of mysql
  
  Step1:
  新建表tb_test;
  create table tb_test(
     id int primary key auto_increment
  );
  
  Step2:
  新建事件ev_test;
  create event ev_test
  on schedule every 5 second
  do
  insert into tb_test values (null);
  
  Step3:
  select * from ev_test;
  Empty set??? 
  ->开启事件计划:set global event_scheduler=1; 
  ->开启事件任务:alter event ev_test completion preserve enable;
  ->关闭时间任务:alter event ev_test completion preserve disable;
				 
  Step4:
  select * from ev_test;
  
  +----+
  | id |
  +----+
  |  1 |
  |  2 |
  |  3 |
  +----+
	
  drop event ev_test;




每天凌晨自动insert操作

delimiter $$

Create event ev_historyDataAnalysis on schedule
every 1 day starts '2012-06-24 00:00:00'
DO
Begin
	insert into tb_test values(null);
	insert into tb_test values(null);
END $$

delimiter ;

set global event_scheduler=1;
alter event ev_historyDataAnalysis on completion preserve enable;

drop event ev_historyDataAnalysis;


        也许你现在看MySQL语法头不会特晕了 
        http://dev.mysql.com/doc/refman/5.1/en/create-event.html
       



Event and Procedure

Define Procedure:
delimiter $$
create procedure sp_test() 
BEGIN
    insert into tb_test values(null);
END
$$
delimiter ;

Adjust Event:
create event ev_test
on schedule every 5 second
do call sp_test();

/* 查看事情是否发生 */
select * from tb_test;

/* 确保事件启动 */
set global event_scheduler=1; 
alter event ev_test on completion preserve enable;

/* 清理工作 */
drop procedure sp_test;
drop event ev_test;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics