SQL 将 JSON 插入表列

Ass*_*jab 2 mysql sql arrays json sql-insert

在寻找将数组插入单个数据库列的方法时,我发现了一篇关于插入 JSON 字符串的文章。但没有解释如何进行。我试图寻找并找到方法,但没有成功。

我有下表:

姓名 类型
ID 整数 人工智能
姓名 细绳
地址 JSON(长文本)

我想要做的是在address列中插入一个 JSON 数组,例如:

ID 姓名 地址
1 用户名 [{street: "street address", city: "Berlin"}]

我考虑过将 JSON 作为字符串插入,但我不确定这是否是一个好主意。有什么建议么?

GMB*_*GMB 12

您可以将数据作为字符串传递,只要它是有效的 JSON;MySQL 会很乐意在后台为您转换它。

insert into mytable (id, name, address)
values (
    1,
    'User name',
    '[{"street": "street address", "city": "Berlin"}]'
);
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用 JSON 构建器函数:

insert into mytable (id, name, address)
values (
    1,
    'User name',
    json_array(json_object('street', 'street address', 'city', 'Berlin'))
);
Run Code Online (Sandbox Code Playgroud)