#【SQL での無効な列インデックスの理由: 1. プレースホルダーがパラメーターの数と矛盾している; 2. SQL スプライシング エラー。各 [%] は [''] で含める必要があることに注意してください。パラメータには [ ||] スプライシングを使用してください; 3. 間違った注釈。
関連する学習に関する推奨事項: SQL ビデオ チュートリアル ##] ## SQL の列インデックスが無効な理由:
このエラーが一般に低レベルの間違いによって引き起こされることは基本的に確実です。SQL スペルを確認してください
オンラインでの説明 指摘された問題を探したところ、自分のエラーと同じエラーはありませんでした。最終的にコメントを削除したところ、正常になりました。アイデアを使用して、ctrl / を使用して追加しましたコメント、つまり、SQL の前に -- を追加します。なぜ有効にならなかったのかわかりませんが、エラーの原因になりました。 ここに記録してください。他に考えられるスペル エラーは次のとおりです。1 プレースホルダーがパラメーターの数と矛盾しています
たとえば、プレースホルダーがある場合、 ?ただし、ここでは 2 つのパラメータ #{a}、#{b} が渡されます。
2.sql splicing error
たとえば、ファジー クエリ条件の場合、Splicing
a like '%'||#{a}||'%' 各 % は '' で囲み、 ||## を使用してパラメータと結合する必要があることに注意してください#もちろん、CONCAT(CONCAT('%', #{a}), '%')
3 のように書くこともできます。間違ったコメントこれは私が遭遇した状況です。--、 を通じて未使用の SQL をコメントアウトしましたが、コメントは正常に反映されず、無効な列インデックスが発生しました。削除すれば問題ありません。
もちろん、この状況には他の理由がある可能性があります
SQL 技術記事の詳細については、php 中国語 Web サイトSQL データベース技術記事
channel.をご覧ください。
以上がSQLに無効な列インデックスが表示されるのはなぜですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。