我有一张table:
CREATE TABLE `mydb`.`mytable` (
`id` INT NOT NULL,
`name` VARCHAR(50) NULL,
PRIMARY KEY (`id`));
像这样的雅索纳里:
[{"id":1, "name":"X"}, {"id":2, "name":"Y"},{"id":3,"name":"Z"}]
是否可以从数组中提取每个jsonobject并将其插入到表中?或者类似的:
Insert Into mytable Select From JSON_EXTRACT(@JsonArray, '?')
在jason\u extract函数中,我应该用什么来代替“?”标记?
我有一个带有varchar参数的存储过程,我想将jsonarray作为字符串传递给这个参数,并将每个对象作为一行插入表中
1条答案
按热度按时间inkz8wg91#
你可以用
JSON_VALUE
在阵列上循环:另一个选择是使用序列引擎和
INSERT SELECT
:使用
seq_0_to_1000000
不是很整洁。使用mariadb,可以在存储过程之外使用复合语句。