mysql难题,怎么update向指定已存在的自增id字段其中某个字段累加内容?

目前数据表如下
自增id字段,以及typedata字段
其中typedata字段里存放的是json格式,以及typedata默认是无数据存在。

idtypedata
1{"95":8}
2{"123":3}
3{"100":1}
4{"16":1}

php代码如下

//json对应值
//{$_GET['ssid'] : $_GET['kenid']}
//json第一个值是不重复的,{$_GET['ssid']不重复的 : $_GET['kenid']随机的}

if(!empty($data)){
$array = array($_GET['ssid'] => $_GET['kenid']);
 $jsondata = json_encode($array);
//这里是如果$data不为空,则update数据 $jsondata到指定id里typedata字段
//但是每次update都会把之前的内容替换了,我想追加进去
//像这样{"95":1}{"15":4}{"9":22}
}else{
//相反,如果假设{"95":1}其中95已经存在,则更新为{"95":0}或直接删除{"95":8}这个json值,{"15":4}{"9":22}其他不变。
}

函数JSON_SET() :将数据插入JSON格式中,有key则替换,无key则新增
这也是我们开发过程中经常会用到的一个函数
用法:JSON_SET(json_doc, path, val[, path, val] …)
事例:比如我们想针对id=2的数据新增一组:newData:新增的数据,修改deptName为新增的部门1
sql语句如下:
update dept set json_value=JSON_SET('{"deptName": "部门2", "deptId": "2", "deptLeaderId": "4"}','$.deptName','新增的部门1','$.newData','新增的数据') WHERE id=2;

【MySQL】对JSON数据操作(全网最全)_asd529735325的博客-CSDN博客 【MySQL】对JSON数据操作(全网最全)总所周知,mysql5.7以上提供了一种新的字段格式-json,大概是mysql想把非关系型和关系型数据库一口通吃,所以推出了这种非常好用的格式,这样,我们的很多基于mongoDb或者clickHouse的业务都可以用mysql去实现了。当然了,5.7的版本只是最基础的版本,对于海量数据的效率是远远不够的,不过这些都在mysql8.0解决了。今天我们就针对mysql的json数据格式操作做一个简单的介绍。如何创建json格式字段这里我们先创建一个简单的含js https://blog.csdn.net/asd529735325/article/details/107205214/
如有帮助,望点击我回答右上角【采纳】按钮支持一下。

追加
UPDATE 表明 set 字段名= 字段名 || 增加的数据 WHERE id='';
更新
update table set 字段名 = (select case when 字段名 is null then ‘’ else 字段名 end as 字段名 where 字段名 like '%95%' ) where id =''
有帮助望采纳

首先别存这种{"95":1}{"15":4}{"9":22},你应该存这种{"95": 7,"23": 4},然后用函数JSON_SET() :将数据插入JSON格式中,有key则替换,无key则新增。

先查出来,然后再用新内容整个替换。