我看过MySQL WHILE循环的各种指南,但仍然无法找出我做错了什么。

mysql> DELIMITER $$
mysql> CREATE PROCEDURE insertRooms()
-> BEGIN
-> DECLARE nRoom INT DEFAULT 101;
-> WHILE nRoom < 109 DO
-> INSERT INTO simple_room (room_number) VALUES nRoom;
-> SET nRoom = nRoom + 1;
-> END WHILE;
-> END;
-> $$
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'nRoom
;
SET nRoom = nRoom + 1;
END WHILE;
END' at line 5

我只是想做一个while循环,将房间101-108插入到简单的房间表中。感谢大家的帮助,我已经尝试了在Google和Stackoverflow上到处搜索,但找不到为什么我总是得到语法错误。我使用的是MySQL版本5.6.24。

最佳答案

除了忘记在nRomm周围使用括号外,您的查询都是正确的。试试这个,

mysql> DELIMITER $$
mysql> CREATE PROCEDURE insertRooms()
-> BEGIN
-> DECLARE nRoom INT DEFAULT 101;
-> WHILE nRoom < 109 DO
-> INSERT INTO simple_room (room_number) VALUES(nRoom);
-> SET nRoom = nRoom + 1;
-> END WHILE;
-> END;
-> $$

希望有帮助,谢谢。

10-04 17:49