2017-09-20 1 views
0

Dieser Code oben läuft perfekt auf meinem WAMP-Server, der auf MYSQL5.5.8 ausgeführt wurde. Dann habe ich auf den neuesten Wamp v3.0.6 aktualisiert, der auf MYSQL5.7.14 läuft und ich fange an, den # 1055 Fehler zu bekommen.MySql Zurückwerfen von Fehlern nach dem Upgrade von WAMP-SERVER

So schließlich kam ich unter SQL Query mit diesem Code in dem Bild oben

Aber ich habe diesen Fehler Error thrown back

ich total versucht habe, alles, was ich kann, aber diesen Fehler nicht beheben kann. Kann mir jemand dabei helfen?

Und ich brauche wirklich die Unterabfrage

+0

Wie lautet die PHP-Version und der PHP-Code, den Sie zum Ausführen der Abfrage verwenden? – AbraCadaver

+0

Es ist PHP5.6.25. –

+0

Dies wird nicht als Antwort angezeigt, da es sich hierbei um eine Problemumgehung und nicht um eine Lösung handelt. Meine Standardlösung dafür besteht darin, meine MySQL-Konfiguration zu aktualisieren, um den 'sql_mode' auf einen zu setzen, der' only_full_group_by' nicht enthält. Ich wäre jedoch daran interessiert, herauszufinden, was die richtige Lösung ist. – rickdenhaan

Antwort

0

Hier ist eine Abhilfe MySQL 5.7 wirkt wie die vorherige Version für GROUP BY Abfragen zu machen - dies nicht die akzeptierte Antwort sein sollte:

Zuerst erfahren Sie Ihre aktuelle sql_mode:

SELECT @@sql_mode; 

On mein Test-Server, dies ergab:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 

Der Fehler Sie sehen durch die ONLY_FULL_GROUP_BY Flagge verursacht wird. Sie können Ihre MySQL-Konfigurationsdatei aktualisieren, um dieses Flag zu entfernen. Finde und bearbeite deine my.cnf Datei (IIRC kannst du über das WAMP-Menü in der Taskleiste zugreifen, aber es ist ein paar Jahre her, dass ich WAMP benutzt habe, damit sich das geändert hat).

Überprüfen Sie, ob dort bereits ein sql_mode definiert ist. Wenn nicht, füge es irgendwo unter der Überschrift [mysqld] hinzu. Machen Sie den gleichen Wert wie für sql_mode aus der vorherigen Abfrage, minus die ONLY_FULL_GROUP_BY Flag. Also in meinem Fall würde das sein:

[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" 

Speichern Sie die Datei und starten Sie MySQL neu, um die Änderungen zu laden.

Beachten Sie, dass Änderungen, die an der Datei my.cnf vorgenommen wurden, höchstwahrscheinlich bei der nächsten Aktualisierung von WAMP überschrieben werden. Daher ist dies keine dauerhafte Lösung. Für eine dauerhafte Lösung sollten Sie Ihre Abfragen so aktualisieren, dass sie mit dem Standard sql_mode kompatibel sind.

Verwandte Themen