1

30 まで aa while ループを作成しており、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 ;

しかし、決して使用せず、2 つの列と同じ名前の 2 つの入力パラメーターをどうしようとしているのか疑問に思っています。

于 2013-04-23T15:55:42.980 に答える