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!