mysql - mysql变量声明的语法错误

标签 mysql syntax

CREATE PROCEDURE dorepeat(IN p1 INT)
BEGIN
  DECLARE x INT DEFAULT 0;
  REPEAT SET x = x + 1; UNTIL x > p1 END REPEAT;
END

我收到一个语法错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for > the right syntax to use near '' at line 3

但对我来说,一切似乎都是正确的。我真的没有任何线索!有人可以帮忙吗?

谢谢

最佳答案

您需要暂时change the delimiter因此,当 MySQL 客户端在第 3 行看到分号时,它不会认为您的语句已完成:

DELIMITER //

CREATE PROCEDURE dorepeat(IN p1 INT)
BEGIN
  DECLARE x INT DEFAULT 0;
  REPEAT SET x = x + 1; UNTIL x > p1 END REPEAT;
END//

DELIMITER ;

关于mysql - mysql变量声明的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7408088/

相关文章:

php - 创建变体文章

java - Java 中 ArrayList 声明中的奇怪语法

mysql - 查找 SQL 查询 LIKE ('1077%' ) 运算符 ON DATA

php - mysql where 表中两个字段之间的数组

syntax - Go中字符串文字中的变量捕获?

java - Java中的单引号和双引号有区别吗?

vim - 仅在语法文件中将突出显示规则作为下一组运行?

ruby-on-rails - 了解 Ruby 变量和符号?

PHP-将 $_POST 保存到 $_SESSION 问题

MySQL 错误 : field is ambiguos (code 1052)