MySQL存储过程语法很痛苦

时间:2012-12-05 00:23:06

标签: mysql stored-procedures

我正在尝试创建一个简单的存储过程,允许我进行大量插入,但是我遇到了语法上的麻烦,无法弄清楚哪里出了问题,尽管将我的过程语法与现有示例进行比较,似乎是对的。

CREATE PROCEDURE populateUserTable()
 BEGIN
  DECLARE counter int(10);
  SET counter = 1;
 WHILE counter < 101 DO
  INSERT INTO user(userid) values(counter);
  SET counter = counter + 1
 END WHILE;
END

运行时,MYSQL指出: 您的SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在第3行附近使用正确的语法

并高调这个家伙:

CREATE PROCEDURE populateUserTable()BEGIN DECLARE计数器INT(10);

这里有什么?

1 个答案:

答案 0 :(得分:1)

你使用过

吗?
DELIMITER $$

一开始?

尝试

DELIMITER $$
CREATE PROCEDURE populateUserTable()
 BEGIN
   DECLARE counter int(10);
   SET counter = 1;
   WHILE counter < 101 DO
      INSERT INTO user(userid) values(counter);
      SET counter = counter + 1
   END WHILE;
END $$
DELIMITER ;