Mencari Data MySQL dengan Nilai Dipisahkan Koma
Dalam senario tertentu, pangkalan data mungkin mengandungi nilai dipisahkan koma dalam lajur, seperti dalam kes e-mel yang disimpan dalam medan "ke" jadual. Apabila mencari terhadap data sedemikian, selalunya perlu mencari nilai khusus dalam senarai yang dipisahkan koma.
Satu pendekatan untuk menangani perkara ini ialah menggunakan fungsi FIND_IN_SET. Fungsi ini mengembalikan kedudukan subrentetan yang ditentukan dalam rentetan. Dalam konteks mencari e-mel, kami boleh menggunakan FIND_IN_SET untuk menyemak sama ada alamat e-mel pelanggan sepadan dengan mana-mana nilai dalam medan "ke" e-mel.
Pertimbangkan pelanggan jadual dengan lajur e-mel dan jadual imap_email dengan ke lajur yang mengandungi alamat e-mel yang dipisahkan koma. Pertanyaan berikut menunjukkan cara kami boleh mencari e-mel berdasarkan alamat e-mel pelanggan menggunakan FIND_IN_SET:
SELECT * FROM imap_emails INNER JOIN customers ON FIND_IN_SET(customers.email, imap_emails.to) > 0;
Pertanyaan ini mengembalikan semua baris daripada jadual imap_email tempat alamat e-mel pelanggan ditemui dalam medan "ke". Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa ia tidak mengambil kira sama ada alamat e-mel muncul beberapa kali. Jika ini membimbangkan, anda mungkin perlu mengubah suai pertanyaan dengan sewajarnya.
Dengan menggunakan fungsi FIND_IN_SET, anda boleh mencari nilai dengan berkesan dalam data yang dipisahkan koma, menyediakan mekanisme yang fleksibel dan cekap untuk menanyakan struktur data sedemikian dalam MySQL.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Dipisahkan Koma dengan Cekap dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!