Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah Saya Memerlukan Sebatan Ke Belakang Berganda Apabila Mencari Seratan Menggunakan Operator LIKE MySQL?

Mengapakah Saya Memerlukan Sebatan Ke Belakang Berganda Apabila Mencari Seratan Menggunakan Operator LIKE MySQL?

Linda Hamilton
Linda Hamiltonasal
2024-11-02 19:20:021060semak imbas

Why Do I Need Double Backslashes When Searching for a Slash Using MySQL's LIKE Operator?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn