Mysql循环错误

标签 mysql syntax syntax-error

我的代码存在语法错误,该代码向表中添加了 1000 条随机记录。\

CREATE PROCEDURE addrecords()
BEGIN
  DECLARE a INT Default 1;
  my_loop: LOOP 
    <INSERTING>
    SET a = a + 1;
    IF a=1001 THEN
      LEAVE my_loop;
    END IF;
  END LOOP my_loop;
END

第一个语法错误默认为 1,表示缺少分号,然后在 my_loop 处,还有大约 4 个错误。请问有什么帮助吗?从我谷歌搜索到的内容看来不错。

最佳答案

您需要在定义语句之前更改分隔符:

DELIMITER $$

CREATE PROCEDURE addrecords()
BEGIN
  DECLARE a INT Default 1;
  my_loop: LOOP 
    <INSERTING>
    SET a = a + 1;
    IF a=1001 THEN
      LEAVE my_loop;
    END IF;
  END LOOP my_loop;
END

$$

否则,;将结束整个CREATE PROCEDURE语句。

关于Mysql循环错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27039001/

相关文章:

mysql - 在 MySQL 上的 "where"子句中使用除主键以外的任何条件

C++ 使用模板编译错误

loops - 继续而不是 Perl 中的 'or die'

javascript - @ 和 ` 符号在 JavaScript 中有什么用处?

python - 不明白这个SyntaxError : illegal target for annotation

mysql - MySQL中以下变量初始化风格有什么区别?

php - 无法使用 PHP 脚本远程连接到 MySQL 错误 (13),通过 CLI 连接有效

python - Mysql - 如何在比较两个条目时仅识别和选择不同的列?

java - 不是 Vectors java 类的实例

haskell - Haskell Bag(多集)实现