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

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

Patricia Arquette
Patricia Arquetteoriginal
2024-11-04 11:38:02670parcourir

How to Resolve the

Problème avec l'erreur « Mélange illégal de classements » dans MySql

Rencontrer l'erreur « Mélange illégal de classements » lors de l'exécution d'une requête peut être frustrant. Pour résoudre ce problème, procédez comme suit :

Vérifiez les classements

Tout d'abord, identifiez les colonnes avec des classements incompatibles. Exécutez 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;

Corriger les incohérences de classement

Une fois que vous avez identifié les colonnes incriminées, ajustez leurs classements pour qu'ils correspondent au classement requis à l'aide de la requête suivante :

ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';

Remplacez "tbl_name" par le nom de la table présentant les incohérences de classement.

Exemple

Application de ces étapes à l'exemple de requête fourni résoudra le problème :

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

Précautions

  • La conversion des jeux de caractères et des classements peut entraîner une perte de données.
  • Toujours revenir configurez votre base de données avant d'effectuer de telles modifications.
  • Consultez la documentation MySQL pour des informations plus détaillées sur les classements et les jeux de caractères.

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