特殊文字を使用した MySQL LIKE クエリ _
次の 'images' テーブルを考えてみましょう:
id | img_path |
---|---|
1 | abc_1.jpg |
2 | abc_2.jpg |
3 | abcde_1.jpg |
4 | abcde_2.jpg |
5 | abcdef_1.jpg |
問題:
あなたはそう願っています「img_path」が「abc_」で始まるエントリを取得します。クエリを使用すると:
SELECT id FROM images WHERE img_path LIKE 'abc_%'
は、'id' 1 と 2 の行だけでなく、5 つの行すべてを返します。
解決策:
アンダースコア「_」は MySQL の特殊文字であり、バックスラッシュを使用してエスケープする必要があります。正しいクエリは次のとおりです。
SELECT id FROM images WHERE img_path LIKE 'abc\_%'
このクエリは、予想どおり、ID 1 と 2 のみを正確に返します。
以上がMySQL LIKE クエリでアンダースコア文字をエスケープする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。