'的语法错误?
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
【讨论】:
当然很简单。谢谢...看这些东西太久了。以上是关于'的语法错误?的主要内容,如果未能解决你的问题,请参考以下文章