Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Inkompatibilität mit MySQL 5.7 (Ausdruck Nr. 1 der ORDER BY-Klausel ist nicht in der SELECT-Liste)

Ich habe die Antwort auf meine Frage gefunden. Tatsächlich enthält mysql 5.7 'ONLY_FULL_GROUP_BY ' im SQL-Modus. Wir können also nicht orderby in dem Element ausführen, das nicht in der Auswahlliste ist. Wir müssen es ändern von

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

in

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

Wir können dies tun, indem wir die folgenden Abfragen ausführen

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'