在MySQL查询中遍历JSON

马克斯·希伯

我正在寻找类似forEachMySQL中的JSON数组的东西

我在MySQL JSON数据类型中使用经理ID,如下所示:[1, 2, 3, 4, 5],我想对列表中的每个项目执行操作。

一个简单的解决方案是使用一个从0开始到VAR_MANAGER_ID为null时结束的计数器进行WHILE循环。这是一个WHILE循环内部外观的精心设计的示例:

SET VAR_PATH = CONCAT('$[', COUNTER, ']');
SET VAR_MANAGER_ID = JSON_PARSE(VAR_MANAGER_IDS, PATH);

# See if we've reached the end of the list
IF VAR_MANAGER_ID IS NULL
THEN 
    BREAK
END;
INSERT INTO LU_MANAGER (MANAGER_ID) VALUES (VAR_MANAGER_ID);

但是必须有更好的方法!我该怎么做:

FOREACH JSON_PARSE(VAR_MANAGER_IDS, '$[*]') AS VAR_MANAGER_ID
    INSERT INTO LU_MANAGER (MANAGER_ID) VALUES (VAR_MANAGER_ID);
伊凡·费雷尔别墅

这里完整的新手,但我找到了一种方法来循环使用JSON数组REPEAT- UNTIL-END REPEAT

   REPEAT
        SET txt = JSON_EXTRACT(myjson, CONCAT("$[", indx, "]"));
        # use txt
        SET indx = indx + 1;
        UNTIL indx = JSON_LENGTH(myjson)
   END REPEAT;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章