drop procedure if exists insertCampaignTimes;
DELIMITER //
CREATE PROCEDURE insertCampTimes()
BEGIN
DECLARE dayNo INT DEFAULT 1;
DECLARE hourNo INT DEFAULT 3;
DELETE FROM `camp_time` where camp_id = 416;
WHILE (hourNo <= 3)
DO
WHILE (hourNo <= 15)
DO
INSERT INTO `camp_time` (`camp_id`, `day`, `hour`) values (416, dayNo, hourNo);
SET hourNo := hourNo + 1;
END WHILE;
SET dayNo := dayNo + 2;
END WHILE;
END //
DELIMITER ;
答案 0 :(得分:0)
您没有在内部循环中更新 hourNo 字段。与两个循环一样,您使用相同的 hourNo 字段。在结束后结束时,再使用一个SET hourNo := hourNo + 1;
来更新代码。