PHP收藏本版 +发表新主题

一句实例弄懂 MYSQL8 JSON数据字段操作

  1. UPDATE t SET detailed = JSON_SET(detailed, \'$."1".text\', (IFNULL((JSON_EXTRACT(detailed,\'$."1".text\')+\'3\'),\'3\'))) WHERE mid = 6

这句话完成了 JSON字段“detailed”中的 $."1".text 的更新,如果不存在则插入
$."1".text 中数字键值必须使用引号
(JSON_EXTRACT(detailed,\'$."1".text\')+3)  先用JSON_EXTRACT获取 字段“detailed” 中原$."1".text的值,再+3
由于JSON_EXTRACT没有查询到值的时候返回UNLL,所以用IFUNLL()判断一下
(IFNULL((JSON_EXTRACT(detailed,\'$."1".text\')+\'3\'),\'3\')) 注意我这数字带引号,返回的格式是 3 如果不带引号返回 3.0 ,依照具体需求合理选择
注意格式要紧凑,能不用空格的不要打空格
JSON_SET 是更新,如果不存在则创建

扫描二维码,手机查看
声明:本文来源于互联网,观点仅代表作者本人,不代表欢乐你我,真实性请妥善甄别。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则