Memahami Urutan Escape MySQL untuk Pertanyaan Carian
Dalam MySQL, apabila mencari aksara slash () menggunakan klausa WHERE, terdapat perbezaan dalam keperluan untuk jujukan melarikan diri bergantung pada operator yang digunakan.
WHERE klausa dengan Equals (=) Operator
Untuk pengendali sama (=), tiada escape tambahan urutan diperlukan. Pertanyaan berikut akan mencari rekod dengan tajuk yang mengandungi aksara miring dengan betul:
<code class="sql">SELECT * FROM `titles` WHERE title = 'test\'</code>
Ini kerana garis miring terbalik dilepaskan secara dalaman oleh MySQL sebelum melaksanakan perbandingan.
WHERE klausa dengan Operator LIKE
Walau bagaimanapun, apabila menggunakan operator LIKE, urutan pelarian tambahan diperlukan untuk garis miring ke belakang. Ini kerana pengendali LIKE mengikuti sintaks C escape, di mana dua garis miring ke belakang digunakan untuk melepaskan garis miring ke belakang yang lain. Oleh itu, untuk mencari aksara miring menggunakan LIKE, anda perlu menggunakan sintaks berikut:
<code class="sql">SELECT * FROM `titles` WHERE title LIKE 'test\\'</code>
Watak Melarikan Diri Lalai
Secara lalai, garis miring ke belakang () digunakan sebagai watak melarikan diri dalam ungkapan SUKA. Ini boleh diubah dengan menentukan watak melarikan diri yang berbeza menggunakan klausa ESCAPE. Sebagai contoh, pertanyaan berikut akan menggunakan aksara paip (|) sebagai aksara melarikan diri:
<code class="sql">SELECT * FROM `titles` WHERE title LIKE 'test\' ESCAPE '|'</code>
Atas ialah kandungan terperinci Mengapakah Saya Memerlukan Sebatan Ke Belakang Berganda Apabila Mencari Seratan Menggunakan Operator LIKE MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!