MySQL エラー: パラメータ インデックスが範囲外です (1 > パラメータ数、つまり 0) - MySQL データベースのステートメント ワイルドカード ファジー クエリの概要 はじめに 今日、MySQL ステートメントを使用して追加、削除、変更、およびクエリ操作を実行すると、コンソールに次のエラーが報告されました: パラメータ インデックスが範囲外です (1 > パラメータ数、つまり 0)。翻訳すると、結果データは 1、真の値は 0 であるはず、パラメータは範囲外であり、エラーが発生することを意味します。これにより、どこで間違いを犯したか、つまりパラメータ、つまりワイルドカード「?」の処理が明らかになります。この記事では、一般的な SQL ステートメントを実行するときや、ワイルドカード ファジー クエリに like ステートメントを使用するときに発生するエラーを分析し、解決策を示します。 1. SQL文を分析する 1. 一般的なSQL文のクエリ分析 まず、以前使用した SQL ステートメントを分析してみましょう。 文字列 sql = "tab_route から count(*) を選択します (cid = ?"); 注: ワイルドカード 2. 一般的なSQLクエリ文の処理方法 ここでエラーが発生した場合は、次のように解決してください。 ワイルドカード 文字列 sql = "cid = '?' の場合、tab_route から count(*) を選択します"; 3. ワイルドカードのようなあいまいクエリステートメント分析を使用する 同様に、上記の方法を使用してファジー クエリ操作を実行し、失敗する SQL ステートメントを確認します。 文字列 sql = "select count(*) from tab_route where rname like '%?%'; 実行結果はエラーです: 結果分析: 結果データは 1 で、真の値は 0 である必要があり、パラメータが範囲外であるため、エラーが発生します。 以下の記述には問題がないことを明確にします。 文字列 sql = select * from tab_route where rname like '%张%'; これにより、どこで間違いを犯したかが明確になります。つまり、パラメータ、つまり、like ステートメント内のワイルドカード 2. 類似文におけるワイルドカードを使用したファジークエリの分析 1. 類似ステートメントの適用シナリオ ワイルドカード「like」を使用してあいまいクエリを実行することは、検索ボックス内のデータに対するあいまいクエリなど、プロジェクトでよく発生するものです。 2. あいまいクエリ分析 SQL ステートメントで concat(str1, str2, str3...)は新しい文字列を生成します 3. 正しい文章 文字列 sql = "tab_route から count(*) を選択し、rname を concat('%',?,'%') のように指定します"; 3. MyBatisのようなあいまいなクエリとキーワードの区別 MyBatis でファジー クエリを使用する場合、キーワードは concat('%',#{name},'%'); のように名前が付けられたテーブルから * を選択します。 並べ替えフィールドを追加する場合、キーワードは select * from table where name like concat('%',#{name},'%') order by ${id}; 概要 この記事では、通常の SQL ステートメントを実行するとき、およびワイルドカード ファジー クエリに like ステートメントを使用するときに発生するエラーを分析し、対応する解決策を示します。同時に、MyBatis でのあいまいクエリの操作と異なるキーワードの区別が補足されます。コーディングまでの道のりは長いので、気をつけていただければと思います。 これで、MySQL データベースのようなステートメントのワイルドカード ファジー クエリの概要に関するこの記事は終了です。より関連性の高い MySQL ファジー クエリのようなコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Web プロジェクト開発における 2 つのトークン理由とサンプル コードの分析
圧縮パッケージを解凍して Windows に MySQL をインストールしました。インストール方法は...
Nginx は、マスター プロセス (MasterProcess) と、同じ数のホスト CPU コア...
目次1. 概念の素早い理解: 1. コンポーネント間でデータを共有する方法: 2. vuex とは何...
Ubuntu 20.04 では、デフォルトで root ログインが有効になっていないため、デスクトッ...
序文私は less/sass を書くことに慣れていますが、小さなプログラムを開発するときには、まだ ...
CSS メディア クエリには非常に便利なアスペクト比、aspect-ratio があり、幅と高さを直...
この記事では、WeChatアプレットで星評価を実装するための具体的なコードを参考までに紹介します。具...
目次1. 手順2. 修飾語3. .sync 修飾子4. まとめ1. 手順指示とは命令です。文字通りの...
まず、フォントアイコンとは何でしょうか?表面的にはアイコンですが、実際はテキストです。テキストの設定...
この記事はMySQL 8.0.12のインストールと設定に関する詳細なチュートリアルを記録しています。...
私の開発環境は、VMWare 仮想マシンに CentOS をインストールし、ホスト ファイルにインタ...
フロントエンド開発において、$ は jQuery の関数です。$ のパラメータが異なると、実装される...
目次序文解析パラメータURLパラメータを変更する要約する序文URLオブジェクトはページ側ではあまり使...
SQL ページング クエリ:背景会社のシステムには、構成管理用のプラットフォーム、いわゆる CRUD...
目次一致と不一致一致するすべてが平等ではない平等と不平等等しい等しくない一致と不一致シンボルの両側の...