我一直收到错误 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
标记的复合语句。
来自Docs :
BEGIN ... END syntax is used for writing compound statements, which can appear within stored programs
关于mysql - 在 MySQL 中批量插入 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6132163/