mysql - SQL将JSON插入表列
问题描述
在寻找将数组插入单个 db 列的方法时,我发现了一篇关于插入 JSON 字符串的文章。但是没有解释如何。我试图搜索并找到没有成功的方法。
我有下表:
+---------+----------------+----+
| Name | Type | |
+---------+----------------+----+
| id | int | AI |
| name | String | |
| address | JSON(longtext) | |
+---------+----------------+----+
address
我想要做的是在列中插入一个 Json数组。喜欢:
+----+-----------+------------------------------------------+
| id | name | address |
+----+-----------+------------------------------------------+
| 1 | User name | [{street: "street address", city: "Berlin"}] |
+----+-----------+------------------------------------------+
我考虑过将 JSON 作为字符串插入,但我不确定这是否是个好主意。有什么建议么?
解决方案
您可以将数据作为字符串传递,只要它是有效的 JSON;MySQL 会很乐意在后台为您转换它。
insert into mytable (id, name, address)
values (
1,
'User name',
'[{"street": "street address", "city": "Berlin"}]'
);
另一种方法是使用 JSON 构建器函数:
insert into mytable (id, name, address)
values (
1,
'User name',
json_array(json_object('street', 'street address', 'city', 'Berlin'))
);
推荐阅读
- javascript - 使用 div 在 css 中的移动视图中填充
- php - 如何在 Woocommerce 中获得每个产品的 5 条最新评论?
- c# - 将客户 Key+Value JSON 对象响应转换为 C# 模型
- java - 向另一个类请求双精度时出错
- powershell - 在 Windows Server 2016 上下载和安装 Google Chrome 的 PowerShell 发生错误
- powerbi - 如何在 Power BI 中显示选定日期范围内每个 ID 的最新日期
- reactjs - 将 Firebase 身份验证与 Firestore 一起使用的正确方法是什么?
- gremlin - 为什么这个带有 select 的 gremlin 查询没有返回任何结果,但没有 select 它可以工作?
- javascript - 如何使用 AJV 创建自定义错误消息?
- windows-10 - 使用 Windows 10 更改 kvm qcow2 文件