Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Nilai dengan Cekap dalam Senarai Medan MySQL Dipisahkan Koma?

Bagaimana untuk Mencari Nilai dengan Cekap dalam Senarai Medan MySQL Dipisahkan Koma?

Barbara Streisand
Barbara Streisandasal
2024-11-12 05:44:02919semak imbas

How to Efficiently Search for Values in Comma-Separated MySQL Field Lists?

Mencari Nilai dalam Senarai Medan MySQL Dipisahkan Koma

Isu ini timbul apabila medan MySQL mengandungi ID yang dipisahkan koma, mis., " 12,13,14,16." Percubaan untuk mencari dalam medan ini menggunakan operator LIKE dengan padanan subrentetan ringkas, seperti "SELECT ... WHERE field LIKE '%1%'", menghasilkan hasil yang buruk disebabkan oleh kejadian ID biasa yang tinggi dalam julat tertentu.

Untuk menangani masalah ini dengan berkesan, gunakan fungsi FIND_IN_SET. Fungsi ini menyemak sama ada nilai yang ditentukan wujud dalam rentetan yang dipisahkan koma dan mengembalikan kedudukan nilai tersebut jika ditemui. Sebagai contoh, pertanyaan berikut mengesan baris dengan cekap di mana nilai '1' hadir dalam medan 'medan':

SELECT ... WHERE FIND_IN_SET('1', field)

Penyelesaian ini melakukan penapisan tepat dengan mencari nilai tepat dalam dipisahkan koma yang ditentukan senarai, menghalang positif palsu yang dihadapi dengan pengendali LIKE.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai dengan Cekap dalam Senarai Medan MySQL Dipisahkan Koma?. 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