Recherche de barres obliques dans MySQL : échapper aux considérations pour WHERE (EQ) et LIKE
Lors de la recherche de barres obliques () dans MySQL à l'aide de WHERE ( =) et LIKE, il est important de comprendre les différences subtiles dans les exigences d'échappement.
L'opérateur LIKE est traité par défaut comme un caractère d'échappement, permettant aux utilisateurs de faire correspondre des caractères spéciaux tels que des guillemets ou des barres obliques. Cependant, lorsque vous utilisez l'opérateur WHERE (=), l'échappement n'est pas nécessaire.
Pourquoi la différence ?
Dans LIKE, agit comme un espace réservé pour les caractères spéciaux qui le suivent. . Pour correspondre à une barre oblique inverse littérale, elle doit être échappée avec un . En effet, MySQL supprime le premier lors de l'analyse de la requête, puis à nouveau lors de la correspondance avec le modèle. Ainsi, « test » dans la requête entraînerait une correspondance avec « test » et non « test ». Pour en tenir compte, la chaîne de recherche doit être "test".
Échapper pour OÙ (=)
Bien que l'échappement ne soit pas requis pour OÙ (=), un single sera toujours supprimé par MySQL lors de l'analyse. Par conséquent, si la valeur de recherche contient un littéral suivi d'un caractère, il est recommandé de l'échapper avec un autre . Par exemple, "test" doit être échappé en tant que "test" pour correspondre à "test".
Caractère d'échappement alternatif
Si l'utilisation du caractère par défaut comme caractère d'échappement est problématique , MySQL permet de spécifier un caractère d'échappement alternatif avec le mot-clé ESCAPE. Par exemple :
<code class="sql">SELECT * FROM `titles` WHERE title LIKE 'test\' ESCAPE '|'</code>
Dans ce cas, "|" est utilisé comme caractère d'échappement et la requête correspondra à "test" au lieu de "test".
Conclusion
Comprendre les exigences d'échappement pour les barres obliques dans MySQL est crucial pour garantir des résultats de recherche précis. En suivant les directives décrites ci-dessus, les utilisateurs peuvent interroger efficacement les tables de données et trouver des correspondances contenant des barres obliques à l'aide des opérateurs WHERE (=) et LIKE.
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!