In MySQL, 有一些函数可以帮我们处理JSON类型包括: JSON_SET()
, JSON_INSERT()
, and JSON_REPLACE()
函数.
语法
三种函数的语法:
JSON_SET(json_doc, path, val[, path, val] ...)
JSON_INSERT(json_doc, path, val[, path, val] ...)
JSON_REPLACE(json_doc, path, val[, path, val] ...)
参数的含义:
json_doc 是JSON字符串
path
是要插入数据或更新值的元素的路径。val
是新的值.
The Difference
JSON_SET()
替换已经存在的值,增加不存在的值。JSON_INSERT()
新增不存在的值。JSON_REPLACE()
替换/修改已经存在的值。
基本上他们的区别就是对已经存在的值怎么办,对缺少的值怎么办?( JSON_SET()
两个功能都有).
Example 1 – Insert a Value
接下来以JSON_SET作为一个例子
JSON_SET()
SELECT JSON_SET('{"a": 1, "b": 2}', '$.c', 3) AS 'Result';
Result:
+--------------------------+
| Result |
+--------------------------+
| {"a": 1, "b": 2, "c": 3} |
+--------------------------+
So 完美。
翻译自 https://database.guide/json_set-vs-json_insert-vs-json_replace-in-mysql-whats-the-difference/