简体   繁体   English

MySQL存储过程语法错误1064

[英]Mysql stored Procedure syntax error 1064

I have a MySQL Stored Procedure. 我有一个MySQL存储过程。 It is like this: 就像这样:

CREATE PROCEDURE dorepeat(p1 INT)
BEGIN
SET @x = 1;
REPEAT

INSERT INTO `edittables` (`USER_ID`, `REFERENCETYPE`, `COLUMNNAME`, `VERSION`, `CREATEDDATETIME`, `LASTUPDATEDDATETIME`) VALUES
  (@x ,12,'type', 0, "2014-08-12 00:00:00", "2000-08-12 00:00:00");

SET @x = @x + 1;
UNTIL @x > p1 END REPEAT;
END
//

I get this error: 我收到此错误:

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 'REPEAT

INSERT INTO `edittables` (`USER_ID`, `REFERENCETYPE`, `COLUMNNAM' at line 1

Any idea? 任何想法?

Try this 尝试这个

DELIMITER //   
CREATE PROCEDURE dorepeat(p1 INT)
BEGIN
    DECLARE x  INTEGER;
    SET x = 1;
    REPEAT
         INSERT INTO `edittables` (`USER_ID`, `REFERENCETYPE`, `COLUMNNAME`,`VERSION`, `CREATEDDATETIME`, `LASTUPDATEDDATETIME`) VALUES (X ,12,'type', 0, "2014-08-12 00:00:00", "2000-08-12 00:00:00");
         SET  x = x + 1;
    UNTIL x > p1
    END REPEAT;    
END //
DELIMITER ;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM