2011-11-07 5 views
2

これはどこから来ているのか分からないようです... MySQLは空の引用文の構文エラーを出し、私には間違っていないような行番号を与えます。さらに悪いことに、行番号が指すループを削除しても、同じ行番号でも同じエラーが表示されます。構文のエラーは ''ですか?

ERROR 1064 (42000) at line 13: 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 39

MySQLからのご意見をお寄せください。

コードはストアドファンクションであり、the answer to another questionを適用しようとするとこれに遭遇しました。更新されたコードはavailable hereです。


EDIT:@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 ; 
+0

タイトルにはタグを付けないでください。ああ、そのうちの149 ... :( –

+0

可能な限り小さな行数が格納されるようにストアドプロシージャを減らすことはできますか?まだエラーが発生していますか? –

+0

@ TomalakGeret'kal古い習慣は大変です:) – neezer

答えて

1

あなたが最後に欠けている

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

あれば理由がRETURN IF(@matches >= 1, 1, 0);であるのは、これがIF statement

とは異なるため、 IF functionです10
+0

もちろん、それは単純なものです。ありがとう...あまりにも長い間waaaaaayのためのこのものを見ていた。 – neezer