Maison > base de données > tutoriel mysql > Pourquoi la recherche insensible à la casse dans MySQL avec l'opérateur LIKE et l'encodage utf8_general_ci est-elle sensible à la casse ?

Pourquoi la recherche insensible à la casse dans MySQL avec l'opérateur LIKE et l'encodage utf8_general_ci est-elle sensible à la casse ?

Susan Sarandon
Libérer: 2024-11-08 14:12:02
original
1136 Les gens l'ont consulté

Why is Case-Insensitive Searching in MySQL with LIKE Operator and utf8_general_ci Encoding Case-Sensitive?

Recherche insensible à la casse dans MySQL

Cet article explore le problème où les requêtes MySQL utilisent l'opérateur LIKE dans les tables avec l'encodage utf8_general_ci et le moteur de stockage MyISAM entraînent des recherches sensibles à la casse.

Pour résoudre ce problème, deux solutions sont recommandées :

1. Utilisation de chaînes binaires :

En ajoutant le mot-clé BINARY à l'opérateur LIKE, une recherche insensible à la casse peut être réalisée :

SELECT .... FROM .... WHERE `concatenated` LIKE BINARY '%SearchTerm%';
Copier après la connexion

Cette approche fonctionne mieux que les autres car elle force la chaîne binaire comparaison, le rendant plus efficace.

2. Utilisation de COLLATE :

Alternativement, le mot-clé COLLATE peut être utilisé pour spécifier une règle de classement spécifique :

SELECT .... FROM .... WHERE `concatenated` like '%SearchTerm%' COLLATE utf8_bin;
Copier après la connexion

En utilisant le classement utf8_bin, une comparaison insensible à la casse est appliquée. Bien que cette méthode offre plus de flexibilité, elle peut avoir un léger impact sur les performances par rapport à l'approche des chaînes binaires.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal