programing

JSON 경로-값 쌍에서 보는 MariaDB 레코드를 반환하려면 어떻게 해야 합니까?

codeshow 2023. 10. 24. 21:38
반응형

JSON 경로-값 쌍에서 보는 MariaDB 레코드를 반환하려면 어떻게 해야 합니까?

저는 PHP v.7.4.1과 MariaDB v.10.4.11을 포함하는 Windows 10 x64용 XAMPP v.7.4.1에서 실행되는 OpenCart v.3.3.2 프레임워크를 기반으로 웹사이트를 구축하고 있습니다. Onuser_group테이블 앳permission열, OpenCart는 데이터를 Json 형식으로 저장합니다.이제, 저는 경로 키-값 쌍을 기반으로 레코드와 Json 배열을 검색할 수 있는 쿼리를 만들었습니다.

SET @search_value = "catalog\/attribute";
SET @search_path = "$.access";

SELECT 
    * 
FROM
    DB_PREFIX_user_group 
WHERE 
    JSON_UNQUOTE        #returns: catalog/attribute
    (
        JSON_EXTRACT        #returns: "catalog\/attribute"
        (
            JSON_EXTRACT        #returns: ["catalog\/attribute", "catalog\/attribute_group",...
            (
                permission, 
                @search_path
            ), 
            JSON_UNQUOTE
            (
                JSON_SEARCH        #returns: "$[0]"
                (
                    JSON_EXTRACT        #returns: ["catalog\/attribute", "catalog\/attribute_group",...
                    (
                        permission, 
                        @search_path
                    ),
                    'one', 
                    @search_value
                )
            )
        )
    ) = @search_value;

레코드에 Json Array 내의 특정 경로 키-값 쌍이 있는지 확인할 수 있는 다른 방법이 있습니까?

언급URL : https://stackoverflow.com/questions/65040653/how-do-i-return-mariadb-records-looking-in-a-json-path-value-pair

반응형