1

我正在创建一个 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
4

1 回答 1

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 ;

但是我想知道您要如何处理您从未使用过的两个内参数,并且它们与其中的两个列具有相同的名称。

于 2013-04-23T15:55:42.980 回答