Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mendapatkan E-mel dengan Cekap daripada Jadual MySQL dengan Nilai Dipisahkan Koma?
Menyoal jadual pangkalan data dengan nilai dipisahkan koma boleh menimbulkan cabaran. Pertimbangkan senario di mana anda mempunyai dua jadual: pelanggan yang mengandungi e-mel pelanggan dan imap_emails dengan medan kepada yang memegang alamat e-mel yang dipisahkan koma. Untuk mengambil e-mel dan mencari terhadap medan ke dan dari, syarat LIKE tradisional mungkin tidak mencukupi.
Penyelesaian yang lebih cekap ialah menggunakan fungsi FIND_IN_SET. Fungsi ini menilai sama ada nilai tertentu terdapat dalam rentetan yang dipisahkan koma, membolehkan anda mengecilkan hasil carian dengan berkesan. Berikut ialah versi pertanyaan anda yang diubah suai menggunakan FIND_IN_SET:
SELECT * FROM imap_emails INNER JOIN customers ON FIND_IN_SET(customers.email, imap_emails.to) > 0
Perhatikan bahawa pertanyaan ini mendapatkan semula e-mel yang alamat e-mel pelanggan dipaparkan dalam medan kepada imap_emails. Bergantung pada keperluan anda, anda boleh mengubah suai pertanyaan untuk memperhalusi kriteria carian dengan lebih lanjut.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan E-mel dengan Cekap daripada Jadual MySQL dengan Nilai Dipisahkan Koma?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!