Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich effizient nach E-Mails in den durch Kommas getrennten Werten von MySQL suchen?

Wie kann ich effizient nach E-Mails in den durch Kommas getrennten Werten von MySQL suchen?

DDD
DDDOriginal
2024-12-05 04:13:09815Durchsuche

How Can I Efficiently Search for Emails in MySQL's Comma-Separated Values?

MySQL nach durch Kommas getrennten Werten durchsuchen

In Szenarien, in denen Sie Daten in MySQL-Tabellen als durch Kommas getrennte Werte (CSV) gespeichert haben, Das Auffinden bestimmter Vorkommnisse kann eine Herausforderung darstellen. Diese Frage untersucht eine Situation, in der E-Mails in einer Tabelle mit mehreren Empfängern gespeichert werden. Die vorliegende Aufgabe besteht darin, mithilfe der Tabelle imap_emails, die Absender- und Empfängerinformationen als CSVs enthält, nach E-Mails basierend auf Absender oder Empfänger zu suchen.

Für diese Suche reicht die Verwendung einer einfachen LIKE-Bedingung möglicherweise nicht aus. Stattdessen schlägt die Frage die Verwendung eines verfeinerten Ansatzes vor, beispielsweise FIND_IN_SET oder eine ähnliche Funktion. In diesem Artikel wird eine alternative Lösung zur Bewältigung dieser Herausforderung untersucht.

Eine effektive Methode besteht darin, die Funktion FIND_IN_SET zu verwenden, um einen Join zwischen den Tabellen „customers“ und „imap_emails“ durchzuführen. Mit diesem Ansatz können Sie nach bestimmten Werten in den CSVs suchen, die in der Tabelle imap_emails gespeichert sind.

Beispielcode, der diesen Ansatz demonstriert:

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 denen Die E-Mail-Spalte aus der Kundentabelle befindet sich in der durch Kommas getrennten Spalte „imap_emails“. Tabelle.

Beachten Sie, dass im Beispiel nur nach einer Übereinstimmung in der Spalte „bis“ gesucht wird. Abhängig vom gewünschten Verhalten können Sie die Abfrage so ändern, dass in der Spalte „Von“ oder in beiden nach Übereinstimmungen gesucht wird. Diese Flexibilität bietet Anpassungsfähigkeit an spezifische Suchanforderungen.

Das obige ist der detaillierte Inhalt vonWie kann ich effizient nach E-Mails in den durch Kommas getrennten Werten von MySQL suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn