Maison >base de données >tutoriel mysql >Comment échapper aux caractères de pourcentage littéral et de soulignement dans le mode NO_BACKSLASH_ESCAPES de MySQL ?

Comment échapper aux caractères de pourcentage littéral et de soulignement dans le mode NO_BACKSLASH_ESCAPES de MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-26 19:56:12830parcourir

How to Escape Literal Percent and Underscore Characters in MySQL's NO_BACKSLASH_ESCAPES Mode?

Échappement des caractères de pourcentage littéral et de trait de soulignement dans le mode NO_BACKSLASH_ESCAPES de MySQL

Dans MySQL, le mode NO_BACKSLASH_ESCAPES désactive le caractère barre oblique inverse traditionnelle () comme échappement mécanisme dans les requêtes LIKE. Ce mode introduit des défis lorsque vous tentez d'échapper aux caractères de pourcentage littéral (%) et de trait de soulignement (_).

Méthode d'échappement standard

La méthode standard pour échapper au caractère de pourcentage dans une requête LIKE doit la précéder d'une barre oblique inverse (). Cependant, en mode NO_BACKSLASH_ESCAPES, cette méthode ne fonctionnera pas.

Alternative au caractère d'échappement

Pour échapper aux caractères littéraux sans utiliser la barre oblique inverse, vous pouvez spécifier un caractère d'échappement alternatif en utilisant le mot clé ESCAPE. Par exemple :

SELECT * FROM mytable
WHERE mycol LIKE '5\% off' ESCAPE '\';

Échappement indépendant de la version

Pour créer une requête qui fonctionne quel que soit le paramètre du mode NO_BACKSLASH_ESCAPES, vous pouvez utiliser un caractère d'échappement différent. Par exemple, le caractère barre verticale (|) peut être défini comme caractère d'échappement :

SELECT * FROM mytable
WHERE mycol LIKE '5|% off' ESCAPE '|';

En spécifiant un caractère d'échappement alternatif, vous pouvez efficacement échapper les caractères littéraux % et _ même en mode NO_BACKSLASH_ESCAPES. Cela permet la création de requêtes LIKE qui fonctionnent de manière fiable dans différentes configurations MySQL.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn