我查看了有关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室插入simple_room表。感谢所有帮助,我尝试在Google和Stackoverflow上搜索,但无法找到原因导致语法错误。我使用的是MySQL 5.6.24版。
答案 0 :(得分:1)
除了忘记在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;
-> $$
希望它有所帮助,谢谢。