SQLite json_insert() 函数使用指南

来源:这里教程网 时间:2026-03-25 18:17:11 作者:

SQLite

json_insert()
函数向一个 JSON 文档中插入数据并返回新的 JSON 文档。

json_insert()
语法

这里是 SQLite

json_insert()
的语法:

json_insert(json, path, value[, path2, value2] ...)

参数

json
必需的。被修改的 JSON 文档。
path
必需的。一个有效的路径表达式。
value
必需的。被插入的数据。

返回值

json_insert()
函数向一个 JSON 文档中插入数据并返回新的 JSON 文档。您可以提供多对
path-value
参数,以便一次插入多个数据。

json_insert()
函数只能将数据插入到不存在路径。如果 JSON 文档中已经存在指定的路径,则不会插入数据。也就是说
json_insert()
函数不会覆盖已有的数据。

如果参数

json
不是有效的 JSON 文档,SQLite 将会给出错误。您可以使用
json_valid()
验证 JSON 文档的有效性。

json_insert()
示例

插入到 JSON 数组

让我们在数组

[1, [2, 3], {"a": [4, 5]}]
的开头和结尾分别插入一个元素:

SELECT json_insert('[1, [2, 3]]', '$[0]', 0, '$[2]', 6);

这里,我们想要在数组的开头插入

0
,在数组的尾部插入
6
。让我们看一下结果:

json_insert('[1, [2, 3]]', '$[0]', 0, '$[2]', 6)------------------------------------------------[1,[2,3],6]

我们发现,并没有在数组的开头(

$[0]
)插入数据。这是因为数组在
$[0]
位置已经有了值,因此不会插入。而数组在
$[2]
位置是没有数据的,因此
6
被插入到数组的尾部。

插入到 JSON 对象

让我们在

{"x": 1}
插入一个值为
2
的成员
y
:

SELECT json_insert('{"x": 1}', '$.y', 2);

json_insert('{"x": 1}', '$.y', 2)---------------------------------{"x":1,"y":2}

相关推荐

热文推荐