【发布时间】:2020-05-29 09:55:18
【问题描述】:
我有一个 mysql 表“tbl1”,其中包含一个 JSON 字段“数字”,其中包含如下值:
{ "开始" : ["101","102","104"], "最终" : ["102","105","106"] }
如何更新“数字”以从“开始”和“最终”中删除特定元素(即“102”)?
我知道我必须使用 JSON_REMOVE 和 JSON_SEARCH 的组合,但我没有找到解决方案。
【问题讨论】:
-
不抱歉。我只想从属性值中删除一个元素,而不是所有属性。
-
误读了您的问题,但这应该可以帮助您stackoverflow.com/questions/40497905/…
-
你的 MySQL 版本是多少?
-
mysql Ver 14.14 Distrib 5.7.30
-
我找到了这样一个查询的解决方案: update tbl1 set numbers = JSON_REMOVE(numbers, JSON_UNQUOTE(JSON_SEARCH(numbers, 'one', '102',NULL,'$.start')) ) 其中 JSON_SEARCH(numbers, 'one', '102',NULL,'$.start') 不为空;
标签: mysql