3

私の特定の問題は、質問を完了する前に解決されます。しかし、私はまだ一般的な質問があります。重複している可能性がありますが、SOまたは他の場所で見つけることができず申し訳ありません。

という名前のテーブルがありますreports。データを含む1つの行があります。更新クエリを実行しようとすると、エラーが発生します。

エラー1064:1行目の'table ='defect'、Filter =''、dtFilter =''、query ='Select allfields fromdefect'、`da'の近くのSQL構文にエラーがあります

私の質問:私の特定のエラーを取得する方法はありますか?SQL構文にエラーがあることを伝えているだけで、エラーの種類については何もわかりません。

私は常にそのようなエラーをグーグルで検索する必要がありますか、それともローカルで正確な特定の説明を取得するためのいくつかのテクニックがありますか?

背景(オプションの読み物):通常のグーグルの後、グーグルを改善するための質問を投稿しているときにヒントを得て、予約語の問題であることがわかったので、特定の問題を解決しましたtable and datetime。それらの単語を引用符で囲むと、問題は解決しました。これは通常私に起こります。しかし、私の一般的な問題はまだそこにあります...

今は役に立たないのですが、ここsqlfiddleでスキーマを共有しています。役に立つかもしれません。

4

2 に答える 2

2

MySQLは、予約語を間違った場所で使用していることを通知できません(または、場所は正しいが、使用されている単語は予約語であり、区別できません)。入力したものだけが表示され、心を読み取ることができません。 、したがって、誤って(たとえば)orderをフィールド名として使用したことを知ることができないため、クエリの有効な部分が間違った場所に表示されるだけです。たとえば、構文エラーです。また、1つの構文エラーが全体を間違ったものにするため、クエリ内のすべての構文エラーについては報告されません。単語をスキップして解析を続けることはできません。

于 2012-09-20T21:54:58.790 に答える
1

いいえ、それは単にあなたに位置を教えてくれます、それはうまくいけばまともな手がかりです。

于 2012-09-20T21:23:40.903 に答える