【问题标题】:REPEAT Query MySQL重复查询 MySQL
【发布时间】:2018-04-24 15:17:46
【问题描述】:

我在使用 MySQL 中的 REPEAT 查询时遇到了一些问题。不久前我问了一个类似的问题,但从未得到回答。

基本上我要做的是将 300 行相同的数据插入到字段 Password 和 Email 中。

这是我要输入的代码:

REPEAT
   INSERT INTO mysqltest.noderedtest (Password, Email)
   VALUES ("Test", "email@email.com")
UNTIL Room Number >= 300
END REPEAT;

我收到错误:

语法错误:“重复”(重复)在此位置输入无效。

对此的任何帮助将不胜感激!

【问题讨论】:

  • “不久前我问了一个类似的问题,但从未得到回答。” 那你应该只是编辑它,它会撞到首页,并且您不会发布完全重复的内容。无论如何,在我看来它被回答了。
  • REPEAT仅在 MySQL 存储程序(例如,PROCEDURE)的上下文中有效。 REPEAT 不是有效的 SQL 语句。

标签: mysql repeat


【解决方案1】:

你需要把它包装起来:

CREATE PROCEDURE proc1()
BEGIN
SET @Room_Number = 0;
REPEAT
   INSERT INTO noderedtest (Password, Email) VALUES ('Test', 'email@email.com');
   SET @Room_Number = @Room_Number + 1;
UNTIL @Room_Number >= 300 END REPEAT;
END

-- call
CALL proc1;

-- check
SELECT * FROM noderedtest

DBFiddle Demo

【讨论】:

  • 您好,我尝试了这段代码,但它现在给了我各种各样的错误。在多个地方都说语法错误在这个位置无效。知道为什么会这样吗?
  • 嗨@LiamBroughton,您需要添加分隔符,在顶部添加:delimiter // 以修复语法错误,此链接Delimiters in MySQL 解释了为什么这是必要的
猜你喜欢
  • 1970-01-01
  • 2014-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-01
  • 1970-01-01
相关资源
最近更新 更多