Синтаксическая ошибка ''? - PullRequest
2 голосов
/ 07 ноября 2011

Я не могу понять, откуда это происходит ... MySQL дает мне синтаксическую ошибку пустой кавычки и дает мне номер строки, который, кажется, совсем не ошибается. Что еще хуже, удаление цикла, на который указывает номер строки, все равно вызывает ту же ошибку, но с другим номером строки.

ОШИБКА 1064 (42000) в строке 13: в синтаксисе 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 ;

1 Ответ

1 голос
/ 07 ноября 2011

Вам не хватает END IF

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

И причина RETURN IF(@matches >= 1, 1, 0); в том, что это IF function, который отличается от IF statement

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...