Vorgestern stieß ich in der Produktionsumgebung auf ein Problem: Die mit der Funktion Dann fiel mir die vertraute Zahl 1024 ein. Könnte es sein, dass das C++-Framework beim Empfangen der von MySQL über den Socket übertragenen Daten verarbeitet wurde? Daher habe ich dieses Feld manuell in das Protokoll gedruckt und festgestellt, dass es auch dann noch vollständig angezeigt werden kann, wenn die Datenlänge 1024 Byte überschreitet. 1. Finden Sie die Ursache An diesem Punkt können wir nur von SQL-Anweisungen ausgehen. Ich habe online nach Fragen zur GROUP_CONCAT-Datenkürzung gesucht und alle Antworten verwiesen auf den Parameter group_concat_max_len, dessen Standardwert genau 1024 beträgt. Sie können diesen Standardwert mit dem folgenden Befehl direkt in der Datenbank anzeigen: mysql> Variablen wie „group_concat_max_len“ anzeigen; +----------------------+----------+ | Variablenname | Wert | +----------------------+----------+ | Gruppen-Concat_Max_Länge | 1024 | +----------------------+----------+ 1 Zeile im Satz (0,00 Sek.) MySQL> Im offiziellen MySQL-Handbuch wird es wie folgt definiert: Die maximal zulässige Ergebnislänge in Bytes für die Funktion 2. Problemlösung Passen Sie Da die virtuelle Testmaschine MySQL5.7.19 von BZ eine 64-Bit-Maschine ist, kann group_concat_max_len mit den folgenden zwei Methoden auf den Maximalwert konfiguriert werden: #### Methode 1: Ändern Sie die MySQL-Konfigurationsdatei my.cnf und fügen Sie group_concat_max_len = 18446744073709551615 im Knoten [mysqld] hinzu #### Methode 2: Stellen Sie die Konsole direkt so ein, dass die Wirkung sofort eintritt -- [Erforderlicher Vorgang] Ändern Sie die globale Konfiguration---- GLOBAL festlegen group_concat_max_len=18446744073709551615; - [Optionale Operation] Die Konfiguration wird in der aktuellen Sitzung sofort wirksam. Andere angemeldete Sitzungsterminals müssen neu gestartet werden, damit die Konfiguration wirksam wird. SETZEN SIE DIE SITZUNG group_concat_max_len=18446744073709551615; 3 Testergebnisse Hier wird die zweite Methode verwendet. Durch Ausführen Zusammenfassen Das Obige ist die perfekte Lösung für das Problem der Datenkürzung bei Verwendung der Group-Concat-Funktion in Mysql5.7. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: Einige Details zu Semikolons in JavaScript
>>: Apache Spark 2.0-Jobs brauchen lange, bis sie abgeschlossen sind
Dieser Artikel veranschaulicht anhand von Beispie...
Vorwort: Ich glaube, dass diejenigen, die dieses ...
Vorwort Dockerfile ist ein vom Docker-Programm in...
Wenn Sie Ihr MySQL-Anmeldekennwort vergessen, ist...
Inhaltsverzeichnis 1. MySQL-Replikationsprozess 2...
Genau wie der Titel sagt. Die Frage ist sehr merkw...
Nachdem die Eingabe im Formulareingabefeld auf da...
Detaillierte Analyse der SQL-Ausführungsschritte ...
Um beispielsweise die gestern neu registrierten B...
Bevor wir awk lernen, sollten wir sed, grep, tr, ...
【Hintergrund】 Mir ist beim Lernen kürzlich etwas ...
Vor kurzem musste ich alle Felder einer verknüpft...
Heute ist mein Kollege beim Schreiben von MySQL-A...
Wie fügt man CSS in HTML ein? Es gibt drei Möglic...
Vorwort In letzter Zeit habe ich Kunden dabei geh...