Maison > base de données > tutoriel mysql > Comment puis-je corriger l'erreur MySQL « Mélange illégal de classements » ?

Comment puis-je corriger l'erreur MySQL « Mélange illégal de classements » ?

Mary-Kate Olsen
Libérer: 2024-12-18 02:20:11
original
838 Les gens l'ont consulté

How Do I Fix the MySQL

Dépannage de l'erreur « Mélange illégal de classements » dans MySQL

Lorsque vous rencontrez l'erreur « Mélange illégal de classements » dans MySQL, cela indique souvent une incompatibilité dans les classements lors de la comparaison ou de la combinaison de chaînes. Cela se produit lorsque des données avec des jeux de caractères et des règles de classement différents sont mélangées, ce qui entraîne l'erreur.

Pour résoudre ce problème, il est nécessaire de spécifier un classement partagé pour les colonnes comparées ou sélectionnées. Ceci peut être réalisé à l'aide de la clause COLLATE, qui vous permet de spécifier le classement à utiliser dans une requête.

Par exemple, pour résoudre l'erreur dans le scénario donné, vous pouvez utiliser la requête suivante :

SELECT * FROM table ORDER BY key COLLATE latin1_general_ci;
Copier après la connexion

Cette requête garantit que la colonne clé est triée en utilisant le classement latin1_general_ci, correspondant au classement de la table.

Une autre option consiste à utiliser le Opérateur BINARY, qui convertit les chaînes au format binaire avant comparaison. Il s'agit d'un raccourci pour CAST(str AS BINARY) et peut être utilisé comme suit :

SELECT * FROM table WHERE BINARY a = BINARY b;
Copier après la connexion

En convertissant les valeurs en binaire, toutes les différences dans les règles de classement sont ignorées, permettant une comparaison correcte.

Il est important de noter que la conversion de valeurs en binaire peut entraîner l'ignorance des index de ces colonnes. Pour des informations plus détaillées, reportez-vous à la réponse hautement recommandée fournie par eggyal pour ce problème spécifique.

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!

source:php.cn
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