首页 文章

MySQL存储过程语法很痛苦

提问于
浏览
0

我正在尝试创建一个简单的存储过程,允许我进行大量插入,但是我遇到了语法上的麻烦,无法找出出错的地方,尽管将我的过程语法与现有示例进行比较,似乎是正确的 .

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声明: 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 '' at line 3

并且高调这个家伙:

CREATE PROCEDURE populateUserTable( ) BEGIN DECLARE counter INT( 10 ) ;

什么在这里?

1 回答

  • 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 ;
    

相关问题