MySQL创建一个while循环而不创建过程

时间:2019-06-06 11:18:42

标签: mysql

我正在尝试使用while循环在表中插入多行。我已经设法通过在另一个版本中创建一个过程和一个定界符来做到这一点。但是,我只想使用此循环,而无需创建和调用过程。下面的代码给了我一个语法错误。我该怎么办?

DECLARE i INT DEFAULT 0; 
WHILE i < ? DO 
INSERT INTO Reservations (Timeslot_idTimeslot, Exam_type_idExam_type, Temp_Student_idStudent, Lock_expiration_date) VALUES (1, 1, 1, '2019-06-06 00:00:00'); 
SET i = i + 1; 
END WHILE;

2 个答案:

答案 0 :(得分:0)

while循环仅在过程,函数或触发器内起作用。 如果您的目标是避免将代码嵌入到过程中,请选择 功能或触发器。

答案 1 :(得分:0)

从MySQL 8开始,您可以使用带有递归的CTE将行数可变地乘以