MySql实现定时执行存储过程

刚才 老大让我处理下公司项目的数据问题,需要把一张表定时分割成二张表,在这里用到了存储过程和定时器,以后可能还会用到,就留在这里


use tableSpace;


-- 创建表
CREATE TABLE `table1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  ` Column1` varchar(50) DEFAULT NULL,
  ` Column2` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=257 DEFAULT CHARSET=utf8;


CREATE TABLE `table2` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  ` Column1` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;



-- 创建存储过程 先删除当前表数据 在执行新增操作
CREATE PROCEDURE table1_function() 
BEGIN 
delete from table1;
INSERT INTO table1( Column1, Column2) select  e. Column1,e. Column2 from TABLE3 e ;
END; 


CREATE PROCEDURE table2_function() 
BEGIN 
delete from table2;
INSERT INTO table2( Column1) select e. Column1 from TABLE3 e  ;

END; 


-- 创建定时器 每30秒执行一次

CREATE EVENT table1_event_insert
ON SCHEDULE EVERY 30 SECOND
on completion preserve 
do call table1_function(); 


CREATE EVENT table2_event_insert
ON SCHEDULE EVERY 30 SECOND
on completion preserve 
do call table2_function(); 


你可能感兴趣的:(sql,mysql,存储过程,定时器)