我正在创建一个while循环,直到30,我想将x作为值放入查询中。我不能运行它,因为我不能使用x作为值。我怎样才能做到这一点 ? 我想用x作为小时id。 感谢
CREATE DEFINER=`root`@`localhost` PROCEDURE `add_day`(IN `d_id` INT, IN `date` VARCHAR(64))
BEGIN
DECLARE x INT;
SET x = 1;
WHILE x <= 30 DO
INSERT INTO `e-heal`.`scheduler` (`scheduler_id` ,`d_id` ,`hour_id` ,`date` ,`available`)
VALUES (NULL , '5', x, '2013-04-22', '0');
SET x = x + 1;
END WHILE;
END
答案 0 :(得分:0)
它对我有用。您可以尝试在@
前面添加x
:
DROP PROCEDURE `add_day`;
DELIMITER $$
CREATE DEFINER=`root`@`localhost`
PROCEDURE `add_day`(IN `d_id` INT, IN `date` VARCHAR(64))
BEGIN
DECLARE x INT;
SET @x = 1;
WHILE @x <= 30 DO
INSERT INTO `e-heal`.`scheduler`
(`scheduler_id` ,`d_id` ,`hour_id` ,`date` ,`available`)
VALUES (NULL , '5', @x, '2013-04-22', '0');
SET @x = @x + 1;
END WHILE;
END $$
DELIMITER ;
但我想知道你试图用你从未使用的两个in-parameters做什么,并且它们与两个列的名称相同。