MySQL事件(定时任务)循环查询数据库并更新程序代码
DELIMITER $$CREATE PROCEDURE ProcessData()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE a_value INT;
-- 声明一个游标
DECLARE cur1 CURSOR FOR SELECT column_name FROM yizuotu_net;
-- 声明一个继续处理循环的标识符
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur1;
read_loop: LOOP
FETCH cur1 INTO a_value;
IF done THEN
LEAVE read_loop;
END IF;
-- 在这里处理每一个a_value
-- 例如:INSERT INTO zzzyk_com (column_name) VALUES (a_value);
-- 这里还可以做 select count(*) from zzzyk_com where t_id=a_value; 类似的
END LOOP;CLOSE cur1;
END$$
DELIMITER ;
步骤 2: 创建事件调用存储过程
CREATE EVENT myevent
ON SCHEDULE EVERY 1 DAY
STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 1 HOUR) -- 开始时间设置为当前时间1小时后,根据需要调整
DO
CALL ProcessData();