首页 > 解决方案 > 大约 4 周后,while 循环刚刚停止工作,没有问题

问题描述

我一直在参考和使用存储的 While 循环,没有问题,每天大约 4 周。几天前它刚刚停止工作。

我试过在没有帮助的情况下用不同的表运行它。

DELIMITER $$ 
CREATE PROCEDURE sp_ukdatatable_route_loop (IN _date date) 
BEGIN 
SET @first = 1, @last = (
SELECT all_act
    FROM ukdatatable_input_ops
    WHERE date=_date
); 
WHILE(@first <= @last) 
DO 
    INSERT IGNORE INTO ukdatatable_input_daily (date)
    VALUES (_date);
    SET @first = @first + 1;
    END WHILE; 
END $$

循环应该从表 ukdatatable_input_ops 中查找一个整数,然后运行循环,创建(新)等于从另一个表 ukdatatable_input_daily 中的表返回的整数的行数

有人能帮忙吗?

涉及的表格;

CREATE TABLE `ukdatatable_input_daily` (
 `entry_id` int(10) NOT NULL AUTO_INCREMENT,
 `date` date DEFAULT NULL,
 `aaa` varchar(25) DEFAULT NULL,
 `bbb` varchar(50) DEFAULT NULL,
 `ccc` varchar(25) DEFAULT NULL,
 `ddd` varchar(25) DEFAULT NULL,
 `eee` varchar(25) DEFAULT NULL,
 `arrival_time` time DEFAULT NULL,
 `departure_time` time DEFAULT NULL,
 `comments` text,
 `status` varchar(10) NOT NULL DEFAULT 'edit',
 `day` varchar(10) NOT NULL,
 PRIMARY KEY (`entry_id`)
) ENGINE=InnoDB AUTO_INCREMENT=156856 DEFAULT CHARSET=utf8mb4


CREATE TABLE `ukdatatable_input_ops` (
 `entry_id` int(10) NOT NULL AUTO_INCREMENT,
 `date` date DEFAULT NULL,
 `fff` time DEFAULT NULL,
 `ggg` int(10) DEFAULT NULL,
 `hhh` int(10) DEFAULT NULL,
 `iiil` int(10) DEFAULT NULL,
 `jjj` int(10) NOT NULL,
 `all_act` int(10) DEFAULT NULL,
 PRIMARY KEY (`entry_id`),
 UNIQUE KEY `date` (`date`)
) ENGINE=InnoDB AUTO_INCREMENT=52 DEFAULT CHARSET=utf8mb4

标签: mysql

解决方案


推荐阅读