0

Node.JSプロセスから実行される非常に大規模で複雑なMySQLクエリがありますが、奇妙なエラーが発生します。

クエリは約150行のSQLコードなので、ここには含めませんが、問題はありません。これは、文字列を継続す​​るために、各行の末尾に\が付いた変数としてJSソースコードに記述されています。ソースからSQLをコピーし、\ sを削除すると、完全に実行されます。ただし、アプリで実行すると、恐ろしいことになります。

MySQL: 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 1

''私のクエリである巨大な単一行のどこにでも-MySQLに感謝します。

アプリにSQLを画面に出力させ、それをコピーして貼り付けると、MySQLでも同じエラーが発生します。2つのクエリ(\が削除されたときのソースと出力)をdiffで実行することにしました。唯一の違いは、改行です。ソースには改行があり、出力にはありません。また、このアプリのより単純なクエリは機能するため、このクエリには何かが原因であることに注意してください。

改行が削除されると、MySQLクエリにどのような変更が発生する可能性がありますか?私が気付いていない行やスペースに制限はありますか?私の理解では、MySQLはすべての改行と空白を無視します。これは本当ではありませんか?誰かがこれをトラブルシューティングするために正しい方向に私を向けることができますか?

削除したコメントがいくつかあり、削除した空白行がいくつかあり、タブをスペースに変換しました。私はアイデアがありません。

ありがとう、

ホワイトアトム

4

1 に答える 1

0

クエリにコメントがありません。行の終わりにコメントする--MySQLコメント構文を使用していました。改行が削除されると、クエリはそのコメントで終了しました。

見てくれてありがとう。これが他の誰かに役立つことを願っています。

于 2012-04-30T02:00:12.700 に答える