Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie behebt man den MySQL-Fehler 1055: Ausdruck nicht in der GROUP BY-Klausel?

DDD
Freigeben: 2024-11-21 09:13:11
Original
962 Leute haben es durchsucht

How to Fix MySQL Error 1055: Expression Not in GROUP BY Clause?

#1055 – Ausdruck nicht in der GROUP BY-Klausel, nicht kompatibel mit der Serverkonfiguration

In MySQL-Versionen 5.7.12 und höher unter Verwendung von sql_mode= Die Einstellung „only_full_group_by“ stellt sicher, dass Aggregatfunktionen nur auf Spalten ausgeführt werden, die in der GROUP BY-Klausel enthalten sind, oder selbst aggregiert sind Funktionen.

Um den Fehler „Ausdruck der SELECT-Liste ist nicht in der GROUP BY-Klausel und enthält eine nicht aggregierte Spalte, die mit sql_mode=only_full_group_by nicht kompatibel ist“ zu beheben, beachten Sie die folgenden Schritte:

  1. Kompatibilitätsmodus aktivieren:

    • Bearbeiten Sie MySQL Konfigurationsdatei (my.cnf oder mysql.conf.d/mysql.cnf).
    • Fügen Sie die folgende Zeile am Ende der Datei hinzu:

      [mysqld]
      sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
      Nach dem Login kopieren
  2. Neustart MySQL:

    • Führen Sie den Befehl sudo service mysql restart aus, um den MySQL-Server neu zu starten.

Diese geänderte sql_mode-Einstellung ermöglicht Aggregatfunktionen für Spalten verwendet werden, die nicht in der GROUP BY-Klausel enthalten sind, ohne den Fehler auszulösen. Es wird jedoch empfohlen, diesen Modus nur aus Kompatibilitätsgründen zu verwenden und eine Umstrukturierung der Abfrage in Betracht zu ziehen, um nach Möglichkeit den Modus „only_full_group_by“ beizubehalten.

Das obige ist der detaillierte Inhalt vonWie behebt man den MySQL-Fehler 1055: Ausdruck nicht in der GROUP BY-Klausel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage