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

MySQL 5.1 bis 5.7 Change Order By funktioniert nicht mehr

Es gibt ein Problem mit Ihrem sql_mode .

Ab MySQL 5.7.x enthält der Standard-SQL-Modus ONLY_FULL_GROUP_BY . (Vor 5.7.5 erkennt MySQL keine funktionale Abhängigkeit und ONLY_FULL_GROUP_BY ist standardmäßig nicht aktiviert).

ONLY_FULL_GROUP_BY :Nicht deterministische Gruppierungsanfragen werden abgelehnt

Weitere Einzelheiten finden Sie in der Dokumentation von sql_mode

Methode 1:

Überprüfen Sie den Standardwert von sql_mode:

SELECT @@sql_mode

Entfernen Sie ONLY_FULL_GROUP_BY von der Konsole aus, indem Sie die folgende Abfrage ausführen:

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

Methode 2:

Greifen Sie auf phpmyadmin zu, um Ihren sql_mode zu bearbeiten

  • Melden Sie sich bei phpmyadmin an und öffnen Sie localhost
  • Top auf Variablen oben in den Menüpunkten und suchen Sie nach sql mode
  • Klicken Sie auf die Schaltfläche Bearbeiten, um ONLY_FULL_GROUP_BY zu entfernen und speichern Sie