'的语法错误?

Posted

技术标签:

【中文标题】''的语法错误?【英文标题】:Syntax error of ''? 【发布时间】:2011-11-07 17:10:14 【问题描述】:

我似乎无法弄清楚这是从哪里来的...... mysql 给了我一个空引号的语法错误,并给了我一个似乎根本没有错误的行号。更糟糕的是,删除行号指向的循环仍然会给我同样的错误,只是行号不同。

第 13 行的 ERROR 1064 (42000):您的 SQL 语法有错误; 检查与您的 MySQL 服务器版本相对应的手册 在第 39 行的 '' 附近使用正确的语法

谈谈来自 MySQL 的无用反馈!

有问题的代码是一个存储函数,我在尝试应用the answer to another question 时遇到了这个问题。更新后的代码是available here。


编辑:@MarkByers,这是在触发错误的同时尽可能降低的功能:

DROP FUNCTION IF EXISTS months_within_range;

DELIMITER //

CREATE FUNCTION months_within_range(starts_at DATE, ends_at DATE, filter_range VARCHAR(255)) RETURNS TINYINT
BEGIN
  SET @matches = 1;
  IF @matches >= 1 THEN RETURN 1;
  ELSE RETURN 0;
END//

DELIMITER ;

【问题讨论】:

请不要标记您的标题。哦,伙计,其中有 149 个...... :( 您可以尝试减少存储过程,使其包含尽可能少的行数,但仍然会产生错误吗? @TomalakGeret'kal 旧习惯很难改掉。 :) @MarkByers 已添加到我的问题中。 【参考方案1】:

您缺少 END IF

 IF @matches >= 1 THEN RETURN 1;
 ELSE RETURN 0;
 END IF;

RETURN IF(@matches >= 1, 1, 0); 起作用的原因是因为这是IF function,它不同于IF statement

【讨论】:

当然很简单。谢谢...看这些东西太久了。

以上是关于'的语法错误?的主要内容,如果未能解决你的问题,请参考以下文章

请大家帮忙一下 mysql 语法错误

Insert into 语句语法错误

INSERT INTO 语句的语法错误

MySQL 语法错误 |您的 SQL 语法有错误;

IDEA2017不提示语法错误

为啥 erlang spawn 函数调用中出现语法错误 - “之前的语法错误:')'”?