是否可以批量增加特定的JSON属性?
例如,我的JSON列称为metadata
,如下所示:
{"counter": 0, ...}
我是否可以更新多行,以便单个查询使计数器增加1?
编辑:
由于这被标记为过于广泛,所以让我举一个确切的例子。
表x
上的数据,表上唯一的列是metadata
,它具有3行:
{"counter": 0}
,{"counter": 1}
,{"counter": 0, "something": "somethign"}
所需结果是一个查询,该查询会将这3个查询更新为
{"counter": 1}
,{"counter": 2}
,{"counter": 1, "something": "somethign"}
不用说,我不是MySQL的专家,而且我也没有设法从MySQL文档中找到对我有用的查询。帮助将不胜感激。
答案 0 :(得分:1)
您可以将JSON_EXTRACT
与JSON_SET
一起使用:
UPDATE table SET col = JSON_SET(col, '$.counter', JSON_EXTRACT(col, '$.counter') + 1)