Mencari MySQL untuk Nilai Dipisahkan Koma
Dalam senario di mana anda mempunyai data yang disimpan dalam jadual MySQL sebagai nilai dipisahkan koma (CSV), mencari kejadian tertentu boleh menimbulkan cabaran. Soalan ini meneroka situasi di mana e-mel disimpan dalam jadual dengan berbilang penerima. Tugas di tangan adalah untuk mencari e-mel berdasarkan sama ada pengirim atau penerima menggunakan jadual imap_emails, yang menyimpan maklumat penghantar dan penerima sebagai CSV.
Untuk carian ini, menggunakan syarat LIKE yang mudah mungkin tidak mencukupi. Sebaliknya, soalan mencadangkan menggunakan pendekatan yang lebih halus, seperti FIND_IN_SET atau fungsi yang serupa. Artikel ini akan menyelidiki penyelesaian alternatif untuk menangani cabaran tersebut.
Satu kaedah yang berkesan melibatkan penggunaan fungsi FIND_IN_SET untuk melaksanakan gabungan antara pelanggan dan jadual imap_emails. Pendekatan ini membolehkan anda mencari nilai khusus dalam CSV yang disimpan dalam jadual imap_emails.
Kod contoh yang menunjukkan pendekatan ini:
SELECT * FROM imap_emails INNER JOIN customers ON FIND_IN_SET(customers.email, imap_emails.to) > 0
Pertanyaan ini akan mengembalikan semua baris daripada jadual imap_emails di mana lajur e-mel daripada jadual pelanggan ditemui dalam lajur yang dipisahkan koma ke lajur imap_email jadual.
Perhatikan bahawa contoh hanya menyemak padanan dalam lajur to. Bergantung pada tingkah laku yang diingini, anda boleh mengubah suai pertanyaan untuk mencari padanan dalam lajur daripada atau kedua-duanya. Fleksibiliti ini menawarkan kebolehsuaian kepada keperluan carian khusus.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari E-mel dengan Cekap dalam Nilai Dipisahkan Koma MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!