mysql json字段中数值的加减

表table1中有字段f,值为{"a":{"count":1},"b":{"count":3}}现在假设需要将a.count的值加3,结果为{"a":{"count":4... 表 table1 中有 字段 f ,值为 {"a":{"count":1},"b":{"count":3}} 现在假设需要 将 a.count的值加3,结果为{"a":{"count":4},"b":{"count":3}},请问sql怎么写? 展开
 我来答
司马刀剑
高粉答主

2019-03-05 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7605万
展开全部

如果是mysql5.7版本以下的,这个字段的值在mysql里面就是个字符串,纯粹的sql语句是不行的,只能把这个字段的值拿出来格式化变成json对象,然后更改值,再放进去;

如果是mysql5.7的话,可以通过新增的json_set函数,来修改json字段的值,希望对你有帮助

匿名用户
2019-03-05
展开全部

你要的代码如下:

update table1 set f = json_set(f, "$.a.count", (json_extract(f, "$.a.count") + 3))
 where id = 1

具体的操作流程,截图:

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
datouxiaoxu
2019-03-02 · TA获得超过1262个赞
知道小有建树答主
回答量:1022
采纳率:83%
帮助的人:484万
展开全部

如果是mysql5.7版本以下的,这个字段的值在mysql里面就是个字符串,纯粹的sql语句是不行的,只能把这个字段的值拿出来格式化变成json对象,然后更改值,再放进去;

如果是mysql5.7的话,可以通过新增的json_set函数,来修改json字段的值,希望对你有帮助

追问
mysql是5.7+,麻烦写出sql语句,需要实现类似普通字段中update table set count=count+3 where id='a' 的效果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式