我一直在引用和使用存储的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