JSON 배열을 MySQL 테이블의 개별 행으로 변환하는 것은 어려울 수 있습니다. 그러나 이 작업은 다음을 포함한 다양한 기술을 사용하여 수행할 수 있습니다.
방법 1: JSON_EXTRACT 및 Union
이 방법에는 JSON_EXTRACT 함수를 사용하여 개별 배열 요소를 추출하는 작업이 포함됩니다. UNION 연산자를 사용하여 결합합니다. 예는 다음과 같습니다.
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;
방법 2: JSON_TABLE(MySQL 8 )
MySQL 8에는 JSON_TABLE 함수가 도입되어 이를 기반으로 가상 테이블을 생성할 수 있습니다. JSON 문서. 이는 JSON 배열을 행으로 변환하는 간단한 방법을 제공합니다. 예는 다음과 같습니다.
SET @j = '[5, 6, 7]'; SELECT * FROM JSON_TABLE( @j, "$[*]" COLUMNS( Value INT PATH "$" ) ) data;
방법 3: 문자열 분할 및 JSON_TABLE
이 기술은 MySQL에 내장된 문자열 분할 기능이 없다는 사실을 활용합니다. 구분된 문자열을 JSON 문자열로 변환하면 JSON_TABLE을 사용하여 분할 기능을 구현할 수 있습니다.
set @delimited = 'a,b,c'; SELECT * FROM JSON_TABLE( CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'), "$[*]" COLUMNS( Value varchar(50) PATH "$" ) ) data;
이러한 방법은 MySQL에서 JSON 배열을 개별 행으로 변환하기 위한 다양한 솔루션을 제공합니다. MySQL 5.7에는 더 복잡한 접근 방식이 필요할 수 있지만 MySQL 8에는 JSON_TABLE과 같은 더 효율적인 옵션이 도입되어 데이터 조작에 대한 새로운 가능성이 열립니다.
위 내용은 MySQL에서 JSON 배열을 행으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!