Menukar tatasusunan JSON kepada baris individu dalam jadual MySQL boleh menjadi satu cabaran. Walau bagaimanapun, operasi ini boleh dicapai menggunakan pelbagai teknik, termasuk yang berikut:
Kaedah 1: JSON_EXTRACT dan Union
Kaedah ini melibatkan mengekstrak elemen tatasusunan individu menggunakan fungsi JSON_EXTRACT dan menggabungkannya menggunakan operator UNION. Berikut ialah contoh:
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;
Kaedah 2: JSON_TABLE (MySQL 8 )
MySQL 8 memperkenalkan fungsi JSON_TABLE, yang membolehkan anda mencipta jadual maya berdasarkan dokumen JSON. Ini menyediakan cara yang mudah untuk menukar tatasusunan JSON kepada baris. Berikut ialah contoh:
SET @j = '[5, 6, 7]'; SELECT * FROM JSON_TABLE( @j, "$[*]" COLUMNS( Value INT PATH "$" ) ) data;
Kaedah 3: Pemisahan Rentetan dan JSON_TABLE
Teknik ini memanfaatkan fakta bahawa MySQL tidak mempunyai fungsi pemisahan rentetan terbina dalam. Dengan menukar rentetan yang dibataskan kepada rentetan JSON, anda kemudiannya boleh menggunakan JSON_TABLE untuk mencapai fungsi pemisahan.
set @delimited = 'a,b,c'; SELECT * FROM JSON_TABLE( CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'), "$[*]" COLUMNS( Value varchar(50) PATH "$" ) ) data;
Kaedah ini menyediakan penyelesaian serba boleh untuk menukar tatasusunan JSON kepada baris individu dalam MySQL. Walaupun MySQL 5.7 mungkin memerlukan pendekatan yang lebih kompleks, MySQL 8 memperkenalkan pilihan yang lebih cekap seperti JSON_TABLE, membuka kemungkinan baharu untuk manipulasi data.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Array JSON ke Baris dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!