Mencari E-mel dengan Nilai Dipisahkan Koma dalam MySQL
Apabila bekerja dengan jadual MySQL yang mengandungi nilai dipisahkan koma (CSV), mencari data boleh mencabar. Contohnya, jika anda mempunyai jadual dengan alamat e-mel yang disimpan sebagai CSV, anda mungkin perlu menanyakannya berdasarkan alamat e-mel tertentu.
Soalan:
Pangkalan data terdiri daripada dua jadual: "pelanggan" (mengandungi alamat e-mel pelanggan) dan "imap_emails" (mengandungi medan "kepada" dan "dari" dengan CSV nilai). Matlamatnya adalah untuk mengambil e-mel daripada jadual "pelanggan" dan mencarinya dalam medan "kepada" dan "daripada" jadual "imap_emails".
Penyelesaian menggunakan FIND_IN_SET:
Satu cara yang cekap untuk melakukan carian sedemikian adalah dengan menggunakan fungsi FIND_IN_SET. Fungsi ini mengembalikan kedudukan rentetan yang ditentukan dalam senarai yang dipisahkan koma. Dengan menggabungkannya dengan cantuman, anda boleh mencapai hasil yang diingini.
Contoh Pertanyaan:
SELECT * FROM imap_emails INNER JOIN customers ON FIND_IN_SET(customers.email, imap_emails.to) > 0
Pertanyaan ini melakukan cantuman dalaman antara "imap_emails" dan jadual "pelanggan" berdasarkan syarat alamat e-mel pelanggan wujud dalam medan "kepada" jadual "imap_emails" (seperti ditentukan oleh FIND_IN_SET).
Nota:
Atas ialah kandungan terperinci Bagaimana untuk Mencari Alamat E-mel Dipisahkan Koma dengan Cekap dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!