-4

なぜこれが起こっているのか混乱していますが、テーブルをインポートするとこれが返され、テーブルは空です...

#1064 - 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 'all' at line 2

メッセージの下にこれがありますが、「ALL」を削除する方法やどこから来たのかわかりません。

SELECT *
FROM `Vehicles`
LIMIT 0 ,
ALL 

テーブルを削除して再度インポートしようとしましたが、結果は常に同じです。

インポートしているテーブルは次のとおりです。

http://pastebin.com/9PWaix39

4

1 に答える 1

1

エラーは、インポートしているデータとは関係ありません。エラーは、SELECT使用しているステートメントに示されています。

SELECT *
FROM `Vehicles`
LIMIT 0 ,
ALL

このクエリは何ですか? それはどこから来ているのですか?ALLあなたが持っている何かがこのクエリを使用しようとしていますが、の使用は無効 であると確信しています。マニュアルを確認すると、句ALLのオプションとしてリストされていません。推測すると、この句は、indexで始まり、すべての行に対して継続するLIMIT行を取得しようとしていると思います。0だとすれば、LIMITそもそも節は必要ありません。デフォルトでは、クエリは一致するすべての行を返します。特定のインデックスからすべての行に一致させたい場合は、マニュアルで次のように提案されています。

特定のオフセットから結果セットの最後までのすべての行を取得するには、2 番目のパラメーターに大きな数値を使用できます。次のステートメントは、96 行目から最後の行までのすべての行を取得します。

SELECT * FROM tbl LIMIT 95,18446744073709551615;

おそらく、MySQL の別のバージョンが節ALLでの使用をサポートしているでしょうか? LIMITこのクエリを生成する自動化ツールを使用している場合、おそらくそのツールには、使用していない特定のバージョンの MySQL が必要です。

于 2012-09-30T13:12:00.490 に答える