Inhaltsverzeichnis
eine ist eine globale Konfiguration, also global, die auf die ganze Welt wirkt; Eine Sitzungskonfigurationssitzung, die nur auf die aktuelle Verbindung wirkt " >Nachdem ich erneut gesucht habe, wurde mir plötzlich das Problem der globalen Sitzung klar, d Variablen, eine ist eine globale Konfiguration, also global, die auf die ganze Welt wirkt; Eine Sitzungskonfigurationssitzung, die nur auf die aktuelle Verbindung wirkt
Wenn das Laravel-Programm sql_mode" > Könnte es sein, dass Laravel sql_mode auf die aktuelle Verbindung gesetzt hat Wenn das Laravel-Programm sql_mode
Suchen Sie im Ordner „vendor/laravel/framework/src/ILLuminate/Database“ nach „strict“ und finden Sie direkt den Kerncode Das erste Urteil besteht darin, direkt festzustellen, ob eine Moduskonfiguration vorliegt. Wenn ja, führen Sie einfach einen " >Das erste, was mir einfällt, ist, dass die Konfiguration von MySQL immer einen strikten Modus hat Setzen Sie es auf „falsch“. Das Problem wurde reibungslos gelöst. Das kann das Problem lösen, aber im Sinne der Technologie müssen wir herausfinden, was los ist. Ich möchte es nicht direkt auf „falsch“ setzen Suchen Sie im Ordner „vendor/laravel/framework/src/ILLuminate/Database“ nach „strict“ und finden Sie direkt den Kerncode Das erste Urteil besteht darin, direkt festzustellen, ob eine Moduskonfiguration vorliegt. Wenn ja, führen Sie einfach einen
Die endgültige Lösung" >, wird der fest codierte sql_mode im Programm direkt festgelegt Das Problem ist hier vollständig gelöstDie endgültige Lösung
Heim PHP-Framework Laravel Über Laravel, das das MySQL-only_full_group_by-Problem löst

Über Laravel, das das MySQL-only_full_group_by-Problem löst

Jan 25, 2021 pm 01:44 PM
laravel

Stellen Sie die Methode zur Lösung des MYSQL-Problems only_Full_group_BY vor. Ich hoffe, es wird Freunden, die es brauchen, hilfreich sein! Nach MySQL 5.7 ist only_full_group_by standardmäßig aktiviert, was zu einer strengeren SQL-Erkennung führt, die zur Meldung des folgenden Fehlers führt:

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'edu.t_sounds.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Nach dem Login kopieren
Es waren viele Umwege erforderlich, um dieses Problem einzeln zu lösen gemäß der online gefundenen Methode

Lösung

Überprüfen Sie sql_mode

select @@GLOBAL.sql_mode;SELECT @@SESSION.sql_mode
Nach dem Login kopieren

Überprüfen und ändern Sie zunächst die MySQL-Konfigurationsdatei my.cnf. Es ist peinlich, dass es kein ONLY_FULL_GROUP_BY

[mysqld]sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Nach dem Login kopieren
gibt

, also lasst uns Fahren Sie fort und denken Sie an MySQL l Ja, um zwischen Serverkonfiguration und Clientkonfiguration zu unterscheiden, fügen Sie [Client] Konfiguration hinzu der gleiche Fehler

[client]sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Nach dem Login kopieren

ausgibt, stellt sich heraus, dass das Programm eingerichtet ist.

rrree

-Test durch und lösen Sie das Problem direkt. Im Sinne der Root-Suche Lesen Sie dann weiter

Wenn strict = true

$result = \DB::select('SELECT @@GLOBAL.sql_mode');
print_r($result);exit;
结果:
STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

$result = \DB::select('SELECT @@SESSION.sql_mode');
print_r($result);exit;
结果:
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
Nach dem Login kopieren
    behält strict = true, fügt die Modi-Option hinzu, die Parameter darin sind die zugrunde liegende Konfiguration von Laravel, entfernt aber nur ONLY_FULL_GROUP_BY

Zusammenfassung: Nach vielen Umwegen und Mit viel Zeitaufwand wurde das Problem endlich gelöst und es war nicht nötig, irgendeine Konfiguration von MySQL zu ändern

Das obige ist der detaillierte Inhalt vonÜber Laravel, das das MySQL-only_full_group_by-Problem löst. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Apr 01, 2025 pm 02:45 PM

Methode zum Abholen des Rücksendecode, wenn das Senden von Laravel -E -Mails fehlschlägt. Wenn Sie Laravel zur Entwicklung von Anwendungen verwenden, stellen Sie häufig Situationen auf, in denen Sie Überprüfungscodes senden müssen. Und in Wirklichkeit ...

Laravel -Zeitplanaufgabe wird nicht ausgeführt: Was soll ich tun, wenn die Aufgabe nicht nach Zeitplan ausgeführt wird: Befehl ausführen? Laravel -Zeitplanaufgabe wird nicht ausgeführt: Was soll ich tun, wenn die Aufgabe nicht nach Zeitplan ausgeführt wird: Befehl ausführen? Mar 31, 2025 pm 11:24 PM

Laravel -Zeitplan -Aufgabe Ausführen nicht reagierende Fehlerbehebung Bei Verwendung der Zeitplanung von Laravel -Zeitplänen werden viele Entwickler auf dieses Problem stoßen: Zeitplan: Run ...

Wie kann man in Laravel mit der Situation umgehen, in der Überprüfungscodes nicht per E -Mail gesendet werden? Wie kann man in Laravel mit der Situation umgehen, in der Überprüfungscodes nicht per E -Mail gesendet werden? Mar 31, 2025 pm 11:48 PM

Die Methode zum Umgang mit Laravels E -Mail -Versagen zum Senden von Verifizierungscode besteht darin, Laravel zu verwenden ...

So implementieren Sie die benutzerdefinierte Tabellenfunktion des Klickens, um Daten im DCAT -Administrator hinzuzufügen? So implementieren Sie die benutzerdefinierte Tabellenfunktion des Klickens, um Daten im DCAT -Administrator hinzuzufügen? Apr 01, 2025 am 07:09 AM

So implementieren Sie die Tabellenfunktion von benutzerdefiniertem Klicken, um Daten in dcatadmin (laravel-admin) hinzuzufügen, wenn Sie DCAT verwenden ...

Laravel – Dump-Server Laravel – Dump-Server Aug 27, 2024 am 10:51 AM

Laravel – Dump-Server – Der Laravel-Dump-Server wird mit der Version von Laravel 5.7 geliefert. Die Vorgängerversionen enthalten keinen Dump-Server. Der Dump-Server wird eine Entwicklungsabhängigkeit in der Laravel-/Laravel-Composer-Datei sein.

Laravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus? Laravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus? Apr 01, 2025 am 07:45 AM

Die Auswirkungen des Austauschs von Redis -Verbindungen im Laravel -Framework und der Auswahl von Methoden bei Verwendung von Laravel -Framework und Redis können Entwickler auf ein Problem stoßen: Durch Konfiguration ...

Laravel Multi-Tenant-Erweiterungsstanz/Mietverhältnis: Wie passen Sie die Host-Adresse einer Mieterdatenbankverbindung an? Laravel Multi-Tenant-Erweiterungsstanz/Mietverhältnis: Wie passen Sie die Host-Adresse einer Mieterdatenbankverbindung an? Apr 01, 2025 am 09:09 AM

Benutzerdefinierte Mieterdatenbankverbindung in Laravel Multi-Tenant-Erweiterungspaket Stanz/Mietverhältnis beim Erstellen von Multi-Mandanten-Anwendungen mit Laravel Multi-Tenant-Erweiterungspaket Stanz/Mietverhältnis, ...

Laravel – Aktions-URL Laravel – Aktions-URL Aug 27, 2024 am 10:51 AM

Laravel – Aktions-URL – Laravel 5.7 führt eine neue Funktion namens „Aufrufbare Aktions-URL“ ein. Diese Funktion ähnelt der in Laravel 5.6, die String-in-Action-Methoden akzeptiert. Der Hauptzweck der neuen Syntax, die Laravel 5.7 eingeführt hat, besteht darin, direktl

See all articles