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

Incompatibilité avec Mysql 5.7 (l'expression #1 de la clause ORDER BY n'est pas dans la liste SELECT)

J'ai trouvé la réponse à ma question.En fait, mysql 5.7 contient 'ONLY_FULL_GROUP_BY ' en mode sql.Nous ne pouvons donc pas effectuer de tri dans l'élément qui n'est pas dans la liste de sélection.nous devons le changer depuis

'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' 

dans

'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

Nous pouvons le faire en exécutant les requêtes suivantes

SET SESSION sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'