Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Cekap Mencari Jadual MySQL dengan Nilai Dipisahkan Koma Menggunakan FIND_IN_SET?
Mencari Jadual MySQL dengan Nilai Dipisahkan Koma Menggunakan FIND_IN_SET
Dalam pangkalan data hubungan seperti MySQL, pengendalian nilai yang dipisahkan koma boleh menimbulkan cabaran semasa mencari untuk rekod tertentu. Katakan kita mempunyai dua jadual: pelanggan dan imap_emails, di mana jadual pelanggan mengandungi e-mel pelanggan dan jadual imap_emails menyimpan e-mel dengan medan "ke" dan "dari" yang dipisahkan koma.
Untuk mendapatkan semula e-mel daripada jadual imap_emails berdasarkan alamat e-mel pelanggan, kami boleh memanfaatkan fungsi FIND_IN_SET. Fungsi ini menentukan sama ada nilai tertentu wujud dalam senarai yang dipisahkan koma.
Sampel pertanyaan menggunakan FIND_IN_SET ialah:
SELECT * FROM imap_emails INNER JOIN customers ON FIND_IN_SET(customers.email, imap_emails.to) > 0;
Pertanyaan ini menyertai imap_emails dan jadual pelanggan berdasarkan syarat bahawa e-mel pelanggan disertakan dalam medan "kepada" e-mel dalam jadual imap_emails. Hasilnya akan merangkumi semua e-mel yang syarat ini dipenuhi.
Walau bagaimanapun, jika e-mel mengandungi dua atau lebih alamat e-mel, pertanyaan mungkin mengembalikan berbilang baris untuk satu e-mel. Untuk mengecilkan carian, anda boleh menggunakan syarat tambahan dalam klausa WHERE, seperti menyemak alamat e-mel tertentu atau mengehadkan bilangan hasil bagi setiap pelanggan.
Atas ialah kandungan terperinci Bagaimana untuk Cekap Mencari Jadual MySQL dengan Nilai Dipisahkan Koma Menggunakan FIND_IN_SET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!