Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL 5.1 à 5.7 change Order By ne fonctionne plus

Il y a un problème avec votre sql_mode .

Depuis MySQL 5.7.x, le mode sql par défaut inclut ONLY_FULL_GROUP_BY . (Avant 5.7.5, MySQL ne détecte pas la dépendance fonctionnelle et ONLY_FULL_GROUP_BY n'est pas activé par défaut).

ONLY_FULL_GROUP_BY  :Les requêtes de regroupement non déterministes seront rejetées

Pour plus de détails, consultez la documentation de sql_mode

Méthode 1 :

Vérifiez la valeur par défaut de sql_mode :

SELECT @@sql_mode

Supprimer ONLY_FULL_GROUP_BY depuis la console en exécutant la requête ci-dessous :

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

Méthode 2 :

Accédez à phpmyadmin pour modifier votre sql_mode

  • Connectez-vous à phpmyadmin et ouvrez localhost
  • Top sur les Variables présent en haut dans les éléments de menu et recherchez le mode SQL
  • Cliquez sur le bouton Modifier pour supprimer ONLY_FULL_GROUP_BY et enregistrez