【发布时间】:2020-05-19 11:40:51
【问题描述】:
这是我的场景,我想将 BOB 的 hourly_rate 更新为 600。如何从下面提到的特定用户 BOB 的 json_array 中提取 hourly_rate。
@data = [{
"Subject": "Maths",
"type": "paid",
"tutor": "MARY",
"hourly_rate": "500"
},
{
"Subject": "Maths",
"type": "paid",
"tutor": "BOB",
"hourly_rate": "700"
}]
我可以通过Where 子句使用JSON_SEARCH() 来获取索引吗?
示例:
"Select JSON_SET(@data,'$[*].hourly_rate', 600) Where 'Subject' = Maths and 'tutor' = 'BOB'";
【问题讨论】:
-
@Rahul Reddy 已回答并完成 :)
-
我很好奇,你为什么对这个完全相同的文档数组使用 JSON,而不是将数据作为行存储在具有普通列的表中?然后通过在单行上更新来设置
hourly_rate或任何其他单独的列会很简单。 -
我使用的 Json 列将包含不同的主题和不同的类型(付费和免费)。这里的每一行都包含教练机构的信息。所以不要让
coaching_institute_id漂浮在其他桌子周围。我有点让 Columns 处于非规范化状态。主要原因是我们有一个在不久的将来进入 NoSQL 的计划,并且通过非规范化结构的研究使工作变得容易。
标签: mysql sql json mysql-workbench mysql-8.0