Heim > Datenbank > MySQL-Tutorial > mysql定时脚本(event),类似oracle的job_MySQL

mysql定时脚本(event),类似oracle的job_MySQL

WBOY
Freigeben: 2016-06-01 13:36:47
Original
1185 Leute haben es durchsucht

bitsCN.com

mysql定时脚本(event),类似oracle的job

 

我有2张表:tb_push_data 和 tb_push_data_log

现在需要每隔一段时间将tb_push_data 符合条件的

数据备份到表 tb_push_data_log

--------------------------------------------------------------------------

 

一、创建存储过程

 

DELIMITER $$

 

USE `push_server_db`$$

 

DROP PROCEDURE IF EXISTS `proc_tb_push_data_backup`$$

 

CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_tb_push_data_backup`()

BEGIN

    START TRANSACTION;

    

    INSERT INTO tb_push_data_log(id,created_date,data_id,gps,have_image,message,recv_name,
recv_username,send_name,send_username,STATUS,tool,updated_date,uri,image_path,log_time)

    SELECT id,created_date,data_id,gps,have_image,message,recv_name,recv_username,send_name,
send_username,STATUS,tool,updated_date,uri,image_path,NOW()

    FROM tb_push_data WHERE STATUS = 'ALREADY_RECEIVE';

    DELETE FROM tb_push_data WHERE STATUS = 'ALREADY_RECEIVE';

    

    COMMIT;

    END$$

 

DELIMITER ;

 

二、创建MYSQL事件

 

DELIMITER $$

 

CREATE event event_tb_push_data_backup

 

ON SCHEDULE

 

EVERY 5 MINUTE

 

STARTS NOW()

 

DO

 

BEGIN

 

CALL event_tb_push_data_backup();

 

END;

 

DELIMITER ;

 

三、验证并修改数据库是否开启了事件    

 

大家按照例子做完以后,可能发现没有运行event,原因大都是因为

event_scheduler状态没打开

 

查看event_scheduler状态

 

show variables like '%sche%';

 

修改event_scheduler状态

 

set global event_scheduler=1;

 

bitsCN.com
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage