文档说,json1扩展是sqlite3的可加载扩展,并且可加载扩展需要编译为共享库(来源)。
我搜索了很多,但我不知道如何启用它们。我发现
- 编译后的共享库可能由libsqlite3-mod-impexp
- 许多文章告诉如何安装
libsqlite3-mod-impexp
(只是apt install
实际上),但没有提到下一步该做什么,启用可加载扩展并使用它。
任何详细的步骤和示例验证命令都值得赞赏。
我需要对 sqlite3 使用 json1 扩展,即sqlite3
从命令行调用命令时在 where 子句中使用 json。
答案1
不,libsqlite3-mod-impexp
没有必要,因此不需要这样做 apt install libsqlite3-mod-impexp
:
$ sqlite3
SQLite version 3.11.0 2016-02-15 17:29:24
Enter ".help" for usage hints.
Connected to a transient in-memory database.
sqlite> SELECT json_extract('{"a":2,"c":[4,5,{"f":7}]}', '$');
{"a":2,"c":[4,5,{"f":7}]}
$ dpkg -l | grep sqlite3
ii libsqlite3-0:a 3.11.0-1ubun amd64 SQLite 3 shared library
ii sqlite3 3.11.0-1ubun amd64 Command line interface for SQLite