sql >> Base de Datos >  >> RDS >> Mysql

Incompatibilidad con Mysql 5.7 (La expresión #1 de la cláusula ORDER BY no está en la lista SELECT)

Encontré la respuesta a mi pregunta. En realidad, mysql 5.7 contiene 'ONLY_FULL_GROUP_BY ' en modo sql. Por lo tanto, no podemos realizar orderby en el elemento que no está en la lista de selección. Tenemos que cambiarlo de

'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' 

en

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

Podemos hacerlo ejecutando las siguientes consultas

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'