我正在寻找类似forEach
MySQL中的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] 删除。
我来说两句