Gre*_*een 5 sqlite json sqlite-json1
From the sqlite3 doc
select json_insert('{"a":2,"c":4}', '$.e', 99) -- ? '{"a":2,"c":4,"e":99}'
Run Code Online (Sandbox Code Playgroud)
But how to append a new element to an array?
select json_insert('[1,2,3]', ??, 4) -- ? '[1, 2, 3, 4]'
update someTable set someArray = json_insert(someArray, ??, 'some new value')
Run Code Online (Sandbox Code Playgroud)
经过几次尝试,我终于想通了
update some_table
set some_array = json_insert(
some_array,
'$[' || json_array_length(some_array) || ']',
'new item'
)
where id = some_id;
Run Code Online (Sandbox Code Playgroud)
3.31.0版本中引入了新的表示法来直接支持此功能:
\nselect json_insert(\'[1,2,3]\', \'$[#]\', 4) -- \xe2\x86\x92 \'[1, 2, 3, 4]\'\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
972 次 |
| 最近记录: |