MySQLスケジュールタスクschedule event task

2115 ワード


  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;