MySQL でのカンマ区切り値の検索
他のテーブルへの参照としてカンマ区切りのリストを含むテーブルに遭遇することは珍しいことではありません。これらの状況は、好ましくないものであることは認識されていますが、LIKE クエリを使用してフィールド内を検索しようとすると課題が生じます。
特定の値を検索しようとする場合、「%1%」のような LIKE クエリを使用すると、次のような結果が生じる可能性があります。これらの ID が存在する範囲 (10 ~ 20) が一般的であるため、多数の陽性一致が存在します。これに対処するには、%,1,% として一致を検索することを検討できます。ただし、このアプローチでは、リストの先頭または末尾の ID を考慮することができません。
実行可能な解決策には、ユーザーがカンマ区切りフィールド内の値を検索できるようにする FIND_IN_SET 関数を利用することが含まれます。 FIND_IN_SET('1', field) を使用することにより、クエリはフィールドに値 '1' を含むレコードを識別します。この関数は、カンマ区切りリスト内の特定の値を検索する問題を効果的に解決し、データベース クエリの精度を高めます。
以上がMySQL のカンマ区切りフィールドで特定の値を効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。