Das Konvertieren eines JSON-Arrays in einzelne Zeilen in einer MySQL-Tabelle kann eine Herausforderung sein. Dieser Vorgang kann jedoch mit verschiedenen Techniken erreicht werden, darunter den folgenden:
Methode 1: JSON_EXTRACT und Union
Diese Methode beinhaltet das Extrahieren einzelner Array-Elemente mithilfe der JSON_EXTRACT-Funktion und sie mit dem UNION-Operator kombinieren. Hier ist ein Beispiel:
SET @j = '[1, 2, 3]'; SELECT JSON_EXTRACT(@j, '$[0]') AS value UNION SELECT JSON_EXTRACT(@j, '$[1]') AS value UNION SELECT JSON_EXTRACT(@j, '$[2]') AS value;
Methode 2: JSON_TABLE (MySQL 8)
MySQL 8 führt die JSON_TABLE-Funktion ein, mit der Sie eine virtuelle Tabelle basierend darauf erstellen können ein JSON-Dokument. Dies bietet eine einfache Möglichkeit, JSON-Arrays in Zeilen zu konvertieren. Hier ist ein Beispiel:
SET @j = '[5, 6, 7]'; SELECT * FROM JSON_TABLE( @j, "$[*]" COLUMNS( Value INT PATH "$" ) ) data;
Methode 3: String-Splitting und JSON_TABLE
Diese Technik nutzt die Tatsache, dass MySQL keine integrierte String-Splitting-Funktion besitzt. Durch Konvertieren der durch Trennzeichen getrennten Zeichenfolge in eine JSON-Zeichenfolge können Sie dann JSON_TABLE verwenden, um die Split-Funktionalität zu erreichen.
set @delimited = 'a,b,c'; SELECT * FROM JSON_TABLE( CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'), "$[*]" COLUMNS( Value varchar(50) PATH "$" ) ) data;
Diese Methoden bieten vielseitige Lösungen für die Konvertierung von JSON-Arrays in einzelne Zeilen in MySQL. Während MySQL 5.7 möglicherweise komplexere Ansätze erfordert, führt MySQL 8 effizientere Optionen wie JSON_TABLE ein und eröffnet neue Möglichkeiten für die Datenmanipulation.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein JSON-Array in Zeilen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!