MySQL-Suchmethode für exakte Volltextübereinstimmung
Bei der Textsuche möchten Sie in der Regel exakte Wortübereinstimmungen und keine Teilübereinstimmungen finden. Beispielsweise sollte eine Suche nach „rid“ nur Datensätze zurückgeben, in denen „rid“ als vollständiges Wort vorkommt und keine Wörter wie „arid“ enthält.
Verwenden Sie REGEXP und Wortgrenzenmarkierungen in MySQL
In MySQL können Sie den REGEXP-Operator und die Wortgrenzenmarkierungen [[:<:]]
und [[:>:]]
verwenden, um einen Volltextabgleich zu erreichen. Diese Markierungen kennzeichnen jeweils den Anfang und das Ende eines Wortes.
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '[[:<:]]rid[[:>:]]'</code>
Durch die Verwendung dieser Tags kann die Abfrage sicherstellen, dass nur Zeilen zurückgegeben werden, die das genaue Wort „rid“ enthalten.
Updates für MySQL 8.0.4 und höher
MySQL 8.0.4 führt eine aktualisierte RegExp-Engine ein. Daher wurde die erforderliche Wortgrenzenmarkierung in b
geändert.
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '\b rid \b'</code>
Beachten Sie, dass der Backslash mit einem zweiten Backslash maskiert werden muss. Wenn Sie diese Schritte befolgen, können Sie problemlos Volltext-Matching-Suchen in MySQL durchführen und so genaue Ergebnisse sicherstellen.
Das obige ist der detaillierte Inhalt vonWie führe ich eine Suche nach ganzen Wörtern in MySQL durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!