Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann man in MySQL effizient nach durch Kommas getrennten Werten suchen?
Suchen von MySQL-Daten mit durch Kommas getrennten Werten
In bestimmten Szenarien können Datenbanken durch Kommas getrennte Werte in Spalten enthalten, z. B. in der Dies ist bei E-Mails der Fall, die im „An“-Feld einer Tabelle gespeichert sind. Bei der Suche nach solchen Daten ist es häufig erforderlich, bestimmte Werte in der durch Kommas getrennten Liste zu finden.
Ein Ansatz, dies zu beheben, ist die Verwendung der Funktion FIND_IN_SET. Diese Funktion gibt die Position eines angegebenen Teilstrings innerhalb eines Strings zurück. Im Zusammenhang mit der Suche nach E-Mails können wir FIND_IN_SET verwenden, um zu überprüfen, ob die E-Mail-Adresse eines Kunden mit einem der Werte im „An“-Feld einer E-Mail übereinstimmt.
Stellen Sie sich einen Kunden-Tabelle mit einer email-Spalte und einer imap_emails-Tabelle mit einer Spalte an mit durch Kommas getrennten E-Mail-Adressen. Die folgende Abfrage zeigt, wie wir mit FIND_IN_SET nach E-Mails basierend auf Kunden-E-Mail-Adressen suchen können:
SELECT * FROM imap_emails INNER JOIN customers ON FIND_IN_SET(customers.email, imap_emails.to) > 0;Diese Abfrage gibt alle Zeilen aus der Tabelle
imap_emails zurück, in der die E-Mail-Adresse des Kunden gefunden wird innerhalb des „an“-Feldes. Es ist jedoch wichtig zu beachten, dass dabei nicht berücksichtigt wird, ob die E-Mail-Adresse mehrmals vorkommt. Wenn dies ein Problem darstellt, müssen Sie die Abfrage möglicherweise entsprechend ändern.
Mit der Funktion FIND_IN_SET können Sie effektiv nach Werten in durch Kommas getrennten Daten suchen und so einen flexiblen und effizienten Mechanismus zum Abfragen solcher Datenstrukturen bereitstellen in MySQL.Das obige ist der detaillierte Inhalt vonWie kann man in MySQL effizient nach durch Kommas getrennten Werten suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!