Heim  >  Artikel  >  Datenbank  >  Was soll ich tun, wenn mysql5.7 den Fehler 1055 meldet?

Was soll ich tun, wenn mysql5.7 den Fehler 1055 meldet?

藏色散人
藏色散人Original
2020-10-26 09:05:012741Durchsuche

Die Lösung für Fehler 1055 in mysql5.7: Suchen und öffnen Sie zuerst die Konfigurationsdatei my.cnf. Löschen Sie dann das Element „only_full_group_by“ oder öffnen Sie die MySQL-Befehlszeile und führen Sie den Befehl „select @@sql_mode“ aus.

Was soll ich tun, wenn mysql5.7 den Fehler 1055 meldet?

Empfohlen: „MySQL-Tutorial

MySQL5.7-Fehler 1055

MySQL5.7-Gruppe nach neuen Funktionen, Fehler 1055

MySQL wurde ursprünglich im Projekt verwendet 5.6 Entwicklung, danach Beim Wechsel zu 5.7 stellte ich plötzlich fest, dass einige der ursprünglichen SQL-Operationen Fehler meldeten. Die Fehlermeldung bezog sich auf „only_full_group_by“ im SQL-Modus. Ich habe online nach dem Grund gesucht und festgestellt, dass der Modus „only_full_group_by“ aktiviert wurde Standard in mysql5.7. Es gibt ungefähr zwei Lösungen:

Eine: Verwenden Sie die Funktion „any_value()“ für Felder, die in der SQL-Abfrageanweisung keine Gruppierung erfordern.

Natürlich ist dies nicht für Projekte geeignet, die viele entwickelt haben Schließlich ändern Sie die ursprüngliche SQL

Zwei: Ändern Sie die Konfigurationsdatei my.cnf (my.ini unter Windows) und löschen Sie das Element only_full_group_by

Die MySQL unseres Projekts ist auf Ubuntu installiert . Es gibt kein sql_mode-Konfigurationselement, sodass Sie es nicht löschen müssen, selbst wenn Sie möchten.

Natürlich gibt es auch andere Möglichkeiten: Öffnen Sie die MySQL-Befehlszeile und führen Sie den Befehl

select @@sql_mode

aus. Auf diese Weise können Sie den Wert von sql_mode ermitteln, diesen Wert kopieren und Konfigurationselemente in my.cnf hinzufügen (den abgefragten Wert löschen). only_full_group_by Diese Option, kopieren Sie die anderen):

sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Wenn die [mysqld]-Zeile auskommentiert ist, denken Sie daran, den Kommentar zu aktivieren. Starten Sie dann den MySQL-Dienst neu.

Hinweis: Verwenden Sie den Befehl

set sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

, um die Konfigurationselemente in einer Sitzung zu ändern, die in anderen Sitzungen nicht wirksam werden.

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn mysql5.7 den Fehler 1055 meldet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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