如何通过SELECT语句将JSON插入MySQL/MariaDB?

sg24os4d  于 2022-11-08  发布在  Mysql
关注(0)|答案(1)|浏览(132)
  • [编辑]*.
    **它正在工作。**看起来我在json_value和json_extract之间摇摆以进行提取,而查询缓存显示了错误的结果。它肯定在使用json_extract。删除表,使用json_extract创建新表。我有一个包含JSON数据的表。
create table a1 (
  data mediumtext null
)

我有几行这样-

insert into a1 (data) values ('{"key1": "something", "key2": {"this": "is", "nested": "json"}}')

我有一张新table-

create table a2 (
 key2 mediumtext null
)

我正在尝试将key2数据移动到a2的新列中。

insert into a2 (new_column)
select json_extract(data, '$.key2') as key2
from a1;

Select part本身似乎可以工作。但是JSON没有被复制。它是作为null来的。这里似乎出了什么问题?

vbopmzt1

vbopmzt11#

MySQL无法将new_column识别为表a2的有效列。
您应该按照以下步骤更改INSERT操作:

insert into a2 (key2)
select json_extract(data, '$.key2') as key2
from a1;

试试看here

相关问题