Verwenden Sie die Funktion find_in_set von MySQL, um mehrere Zeichenfolgen zu finden
Mit der Funktion find_in_set() von MySQL können Sie nach einer bestimmten Zeichenfolge innerhalb einer Reihe von Zeichenfolgen suchen, die in einer Spalte gespeichert sind. Es kann jedoch nur mit einer einzigen Suchzeichenfolge gesucht werden.
Herausforderung: Suche mit mehreren Zeichenfolgen
Es kann vorkommen, dass Sie in einer Reihe von Zeichenfolgen nach mehreren Zeichenfolgen suchen müssen. Beispielsweise möchten Sie möglicherweise überprüfen, ob ein Kunde ein bestimmtes Produkt gekauft hat, das zu einer bestimmten Kategorie gehört. In diesem Fall reicht es nicht aus, nur find_in_set() zu verwenden.
Tipp zur Simulation von find_in_set() zur Implementierung einer Suche mit mehreren Zeichenfolgen
Es gibt eine Problemumgehung, um eine Suche mit mehreren Zeichenfolgen mithilfe von find_in_set() zu simulieren:
Beschreibung des regulären Ausdrucks:
Beispiel:
Bedenken Sie die folgende Abfrage:
<code class="language-sql">SELECT * FROM table WHERE CONCAT(",", `product_set`, ",") REGEXP ",(electronics|clothing|accessories),";</code>
In dieser Abfrage enthält die Spalte „product_set“ eine durch Kommas getrennte Liste der vom Kunden gekauften Produkte. Der REGEXP-Ausdruck prüft, ob die Sammlung eine dieser drei Suchzeichenfolgen enthält: „Elektronik“, „Kleidung“ oder „Zubehör“.
Das obige ist der detaillierte Inhalt vonWie kann ich effizient nach mehreren Zeichenfolgen in einer MySQL-Spalte suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!