Mysql Json函数之更新 (四)
修改JSON值的函数
本节中的函数将修改JSON值并返回结果。
-
JSON_APPEND(
json_doc
,path
,val
[,path
,val
] ...)将值附加到JSON文档中指定数组的末尾并返回结果。该功能
JSON_ARRAY_APPEND()
在MySQL 5.7.9中已重命名;别名JSON_APPEND()
现在在MySQL 5.7中已弃用,在MySQL 8.0中已删除。 -
JSON_ARRAY_APPEND(
json_doc
,path
,val
[,path
,val
] ...)将值附加到JSON文档中指定数组的末尾并返回结果。返回
NULL
是否有任何参数NULL
。如果json_doc
参数不是有效的JSON文档,或者任何path
参数不是有效的路径表达式或包含*
或**
通配符,则会发生错误 。路径值对从左到右评估。通过评估一对对生成的文档将成为新的价值,以此评估下一对。
如果路径选择标量或对象值,则该值将自动包装在数组中,并将新值添加到该数组中。路径无法标识JSON文档中任何值的对将被忽略。
mysql> SET @j = '["a", ["b", "c"], "d"]'; mysql> SELECT JSON_ARRAY_APPEND(@j, '$[1]', 1); +----------------------------------+ | JSON_ARRAY_APPEND(@j, '$[1]', 1) | +----------------------------------+ | ["a", ["b", "c", 1], "d"] | +----------------------------------+ mysql> SELECT JSON_ARRAY_APPEND(@j, '$[0]', 2); +----------------------------------+ | JSON_ARRAY_APPEND(@j, '$[0]', 2) | +----------------------------------+ | [["a", 2], ["b", "c"], "d"] | +------------