我似乎无法弄清楚这是从哪里来的...... MySQL给了我一个空引号的语法错误,并给了我一个似乎根本没有错的行号。更糟糕的是,删除行号指向的循环仍然会给我同样的错误,只是行号不同。
第 13 行的 ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在第 39 行的 '' 附近使用的正确语法
谈论来自 MySQL 的无用反馈!
有问题的代码是一个存储函数,我在尝试将答案应用于另一个问题时遇到了这个问题。更新的代码可在此处获得。
编辑:@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 ;