在MySQL中批量插入SQL查询

| 我只是不断收到错误1064。我搜索了while循环然后声明局部变量等的方法,但看不到我在做什么错。我试图在没有\“; \”的情况下执行此操作,并且我厌倦了将定界符设置为\“ | \”以能够使用\“; \”作为行之间的分隔符(我在这样的地方读过一些东西,是这样做的方法吗? 我正在尝试在PhpMyAdmin上执行该查询,而我的MySql版本是5.1.36 我不会解释我正在尝试什么,因为我认为只需阅读下面的查询就可以轻松理解。
BEGIN 
DECLARE v1 INT DEFAULT 0;
DECLARE v2 VARCHAR(10); 
WHILE v1 < 20 DO
SET v2 = CONCAT(\'Test \', CAST(v1 AS CHAR(2)));
INSERT INTO news(title,date, message) VALUES(v2, NOW(), v2);
SET v1 = v1 + 1;
END WHILE; 
END;
    
已邀请:
MySql仅允许在存储的程序中使用
BEGIN...END
标记的复合语句。 从文档中:   BEGIN ... END语法用于   编写复合语句,可以   出现在存储的程序中     
我可以看到的第一件事是CAST参数中的一个小的语法错误。 你有:     CAST(v1 ASCHAR(2)) 你需要:     CAST(v1 AS CHAR(2)) 参见http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html#function_cast     
更改
DECLAREv2 VARCHAR(10); 
DECLARE v2 VARCHAR(10); 
    

要回复问题请先登录注册