Méthode de recherche de correspondance exacte en texte intégral MySQL
Lorsque vous effectuez des recherches de texte, vous souhaitez généralement trouver des correspondances de mots exactes, et non des correspondances partielles. Par exemple, une recherche sur « rid » ne doit renvoyer que les enregistrements dans lesquels « rid » apparaît comme un mot complet, plutôt que de contenir des mots comme « aride ».
Utilisez REGEXP et les marqueurs de limites de mots dans MySQL
Dans MySQL, vous pouvez utiliser l'opérateur REGEXP et les marqueurs de limites de mots [[:<:]]
et [[:>:]]
pour obtenir une correspondance de texte intégral. Ces marqueurs indiquent respectivement le début et la fin d'un mot.
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '[[:<:]]rid[[:>:]]'</code>
En utilisant ces balises, la requête peut garantir que seules les lignes contenant le mot exact « rid » sont renvoyées.
Mises à jour pour MySQL 8.0.4 et supérieur
MySQL 8.0.4 introduit un moteur RegExp mis à jour. Par conséquent, le marqueur de limite de mot requis a été remplacé par b
.
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '\b rid \b'</code>
Notez que la barre oblique inverse doit être échappée par une deuxième barre oblique inverse. En suivant ces étapes, vous pouvez facilement effectuer des recherches de correspondance en texte intégral dans MySQL, garantissant ainsi des résultats précis.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!