MySQL で WHERE (=) および LIKE 演算子のスラッシュをエスケープするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-01 03:48:27
オリジナル
555 人が閲覧しました

How do I Escape Slashes in MySQL for WHERE (=) and LIKE Operators?

MySQL でのスラッシュの検索: WHERE (EQ) と LIKE のエスケープに関する考慮事項

MySQL で WHERE () を使用してスラッシュ () を検索する場合=) と LIKE では、エスケープ要件の微妙な違いを理解することが重要です。

LIKE 演算子はデフォルトでエスケープ文字として扱われるため、ユーザーは引用符やスラッシュなどの特殊文字と一致することができます。ただし、WHERE (=) 演算子を使用する場合、エスケープは必要ありません。

なぜ違いますか?

LIKE では、その後に続く特殊文字のプレースホルダーとして機能します。 。リテラルのバックスラッシュと一致させるには、追加の . を使用してエスケープする必要があります。これは、MySQL がクエリを解析するときに最初の文字列を削除し、パターンと一致するときに再度削除するためです。したがって、クエリ内の「test」は、「test」ではなく「test」と一致します。これを考慮して、検索文字列は「test」にする必要があります。

WHERE (=) のエスケープ

WHERE (=) ではエスケープは必要ありませんが、 single は、解析中に MySQL によって削除されます。したがって、検索値にリテラルとそれに続く文字が含まれる場合は、別の . でエスケープすることをお勧めします。たとえば、「test」は「test」と一致するように「test」としてエスケープする必要があります。

代替エスケープ文字

エスケープ文字としてデフォルトを使用することが問題がある場合, MySQL では、ESCAPE キーワードを使用して代替エスケープ文字を指定できます。例:

<code class="sql">SELECT * FROM `titles` WHERE title LIKE 'test\' ESCAPE '|'</code>
ログイン後にコピー

この場合、「|」はエスケープ文字として使用され、クエリは「test」ではなく「test」と一致します。

結論

MySQL のスラッシュのエスケープ要件を理解することが重要です。正確な検索結果を保証するため。上記のガイドラインに従うことで、ユーザーは WHERE (=) 演算子と LIKE 演算子の両方を使用してデータ テーブルを効果的にクエリし、スラッシュを含む一致を検索できます。

以上がMySQL で WHERE (=) および LIKE 演算子のスラッシュをエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!