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
little bottlenach vorne
2019-04-18 10:58:122779Durchsuche

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen