Maison >base de données >tutoriel mysql >Comment échapper aux caractères spéciaux dans le mode NO_BACKSLASH_ESCAPES de MySQL ?

Comment échapper aux caractères spéciaux dans le mode NO_BACKSLASH_ESCAPES de MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-30 14:37:12222parcourir

How to Escape Special Characters in MySQL's NO_BACKSLASH_ESCAPES Mode?

Échapper aux caractères spéciaux en mode NO_BACKSLASH_ESCAPES

Lorsque l'option NO_BACKSLASH_ESCAPES est activée dans MySQL, la méthode standard pour échapper un littéral "%" ou " _" l'utilisation de "%" ne fonctionne pas. Cela présente un défi lors de l'exécution de requêtes LIKE.

Solution 1 : Utilisation d'un caractère d'échappement

En mode NO_BACKSLASH_ESCAPES, vous pouvez utiliser un caractère d'échappement pour protéger les caractères spéciaux tels que " %". Le caractère d'échappement est spécifié dans la requête LIKE après le mot-clé d'échappement.

Par exemple :

select * from mytable
where mycol like '5\% off' escape '\';

Dans cette requête, "" est utilisé comme caractère d'échappement, donc "%" représente le caractère littéral "%".

Solution 2 : Utiliser un caractère spécial différent

Si vous Vous ne pouvez pas utiliser une barre oblique inverse comme caractère d'échappement, vous pouvez choisir un caractère spécial différent et l'utiliser à la place. Par exemple :

select * from mytable
where mycol like '5|% off' escape '|';

Ici, "|" est utilisé comme caractère d'échappement, donc "5|% off" représente une chaîne avec un caractère littéral "%".

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