Maison > base de données > tutoriel mysql > Comment résoudre l'erreur « Mélange illégal de classements » dans les requêtes MySQL ?

Comment résoudre l'erreur « Mélange illégal de classements » dans les requêtes MySQL ?

Patricia Arquette
Libérer: 2024-11-03 23:59:30
original
1072 Les gens l'ont consulté

How to Resolve

Résolution de tri de caractères illégaux dans MySql avec erreur de classement

En essayant de combiner deux sous-requêtes dans une requête SQL, vous pouvez rencontrer le message « Illégal erreur de mélange de classements". Cela se produit lorsque les colonnes impliquées dans des comparaisons ou des opérations ont des paramètres de jeu de caractères ou de classement différents.

Pour résoudre cette erreur, il est nécessaire de s'assurer que les colonnes utilisées dans la requête ont le même classement. Pour déterminer les colonnes concernées, consultez la requête suivante :

SELECT table_schema, table_name, column_name, character_set_name, collation_name
FROM information_schema.columns
WHERE collation_name = 'latin1_general_ci'
ORDER BY table_schema, table_name,ordinal_position;
Copier après la connexion

Cela affichera les colonnes avec le classement 'latin1_general_ci'. Pour résoudre l'erreur, convertissez les colonnes en conflit en classement « latin1_swedish_ci » à l'aide de cette requête :

ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';
Copier après la connexion

En rectifiant l'incompatibilité du classement, la requête peut être exécutée avec succès :

SELECT username, (SUM(rating)/COUNT(*)) as TheAverage, Count(*) as TheCount
FROM ratings WHERE month='Aug' 
AND username IN (SELECT username FROM users WHERE gender =1)
GROUP BY username HAVING TheCount > 4
ORDER BY TheAverage DESC, TheCount DESC
Copier après la connexion

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