mysql - 在 MySQL 中批量插入 SQL 查询

标签 mysql sql insert mysql-error-1064

我一直收到错误 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/

相关文章:

mysql - 获取第一个匹配条件的结果,不考虑下一个匹配条件的结果

mysql - 如何合并插入合并多个表

php - 警告 : mysql_connect(): Can't connect to local MySQL server

php - 购物车不允许我在数据库中添加两个具有相同 ID 的产品

mysql - 增加对mysql的同时请求数

php - 从多个表中删除不起作用

php - 关于 Yii 事件记录中的重复键更新

sql - 如何在sqlite中按连续行进行分组?

mysql - 在mysql表中插入代数表达式

mysql - 同时使用 SELECT 语句和 SELECT FROM WHERE 进行多个 INSERT