MySQL中json_set()函数的使用

json_set()这个函数在我看来,好像具备两个作用,一个是插入作用,能替代json_insert()函数,另一个就是替换作用,能替代json_replace()函数。下面具体来看:

插入作用:

数据库中 id =16的数据如下所示:
在这里插入图片描述
使用json_insert()函数后,如下所示,插入了age:30
在这里插入图片描述
接下来使用json_set()函数,向 id =16的data中添加hobby,(注:这里可能有些伙伴会好奇,上面添加了age,我再添加一个hobby,为什么age不见了,这是因为我用的是select ,这只是暂存在内存当中,并没有改变数据库中的data,如果想要改变就要updata进行更新修改)可见直接插入到后面,起到插入的作用。
在这里插入图片描述
替换作用:

下面建了一个数组,以数组为例:
在这里插入图片描述
把数组下标为2的元素更换为了4444
在这里插入图片描述
运用json_replace()函数进行一下:
在这里插入图片描述
同样达到预期。

如果这里写一个json_set(@a,’$[10]’,3456789)会如何?
在这里插入图片描述
我们发现直接插入到数组尾部。

总结:

使用json_set()函数时,如果对象或者数组里面有这个数据,就会发生替换,如果没有,就会在其后面插入此条数据。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值