1
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 [random snippet of query code]

そのような MySQL エラーから価値のあるものを推測できることはめったにありません。より具体的なデータを取得する方法はありますか?

MySQL の構文の仕組みが原因で、正確なエラー データを取得することは不可能だと言って、この質問を却下する人を見てきました。本当にそうですか?

4

2 に答える 2

2

このような構文エラーを出すのは MySQL だけではなく、MS SQL Server も非常によく似たメッセージを出します。

エラー メッセージに示されているコードは、パーサーがクエリの解析を続行できないと判断した正確な位置であるという意味で、エラー メッセージは非常に正確です。

ただし、クエリの実際のエラーは、多くの場合、クエリの少し前に発生します。たとえば、クエリで「from」のスペルを「fom」と間違えると、パーサーは「fom」がその前の最後のフィールドのエイリアスであると考え続け、テーブル名を見つけると構文エラーを返します。予想されるコンマまたは「from」キーワードの代わりに。スペルミスのあるキーワードではなく、エラーの位置としてテーブル名を指します。

于 2012-10-29T00:21:25.253 に答える
1

クエリを 1 つの長い行だけでなく、複数の行に分割すると役立つ場合があります。これでもエラーのおおよその位置しか表示されませんが、少しは役立つかもしれません。

于 2012-10-29T00:13:49.833 に答える