以下方法有局限性,所以当一个思路和兴趣了解一下就够了,正确的处理办法是把数据取出来处理完成后再更新,mysql语句并不能使用正则进行替换。
UPDATE test set test.data=REPLACE (test.data,SUBSTR(test.data,LOCATE("{",test.data),LOCATE("}",test.data)),"") where 1=1
可以实现将{}之中的值替换为空
例子:data字段里面的数据为
[{"key1":"value1"},{"key2":"value2"}]
那么执行该语句之后data被修改为:
[{"key2":"value2"}]
函数解释:
LOCATE(substr,str) //返回在substr字符串中str第一次出现的位置
SUBSTR(str,pos,len) //返回str字符串中的从第pos位置开始的len个长度字符串。
REPLACE(str1, str2, str3) //将所有str1字符串中出现的str2替换为str3