Heim > Datenbank > MySQL-Tutorial > Der Fehler 1055 tritt auf, wenn die Group-by-Anweisung unter MySQL 5.7 verwendet wird

Der Fehler 1055 tritt auf, wenn die Group-by-Anweisung unter MySQL 5.7 verwendet wird

little bottle
Freigeben: 2019-04-18 10:58:12
nach vorne
2753 Leute haben es durchsucht

Der Hauptinhalt dieses Artikels befasst sich mit der Analyse und den Lösungen des 1055-Fehlers bei Verwendung der Group-By-Anweisung auf MySQL 5.7. Freunde in Not können einen Blick darauf werfen.

1. Wenn Sie die Group-By-Anweisung zum Gruppieren in MySQL-Version 5.7 oder höher verwenden und das ausgewählte Feld nicht genau dem Feld nach Group-By entspricht, aber andere Felder enthält, wird dieser Fehler gemeldet

FEHLER 1055 (42000): Ausdruck Nr. 1 der SELECT-Liste ist nicht in der GROUP BY-Klausel und enthält eine nicht aggregierte Spalte

2 Dies liegt daran, dass die höhere Version von MySQL einen sql_mode hinzufügt

SQL_mode anzeigen

select @@sql_mode;

mysql_mode;
+------------------ --- ------------------ --- ------------------ --- ------------------+
|. @@sql_mode                                                                                                          ------- ----------------------------- --------------------- ----------------------------- ------+
|. ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_pISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+------ ------- ---------------------------- ---------------------- ---------------------------- ---------------------- ----------+

Sie können sehen, dass es eine ONLY_FULL_GROUP_BY gibt. Dies ist eine strikte Kontrolle. Für die Felder „Gruppe nach“ und „Auswählen“ entfernen Sie diese einfach, ohne die SQL-Anweisung zu ändern

3. Diese Datei, die ich unter meinem Ubuntu-System bearbeitet habe, ist /etc/mysql/conf.d/mysql. Suchen Sie einfach unter dem Block [mysqld] und entfernen Sie ONLY_FULL_GROUP_BY >

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_pISION_BY_ZERO,NO_AUTO _CREATE_USER,NO_ENGINE_SUBSTITUTION'

4. Es ist jetzt normal

Verwandte Tutorials:

MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDer Fehler 1055 tritt auf, wenn die Group-by-Anweisung unter MySQL 5.7 verwendet wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage