WSL2下SQLite3设置.mode table报错,无table模式可选如何解决?
报错原因
Ubuntu 20.04 官方软件源提供的 SQLite3 最高版本为 3.31.1,而 table 输出模式是 SQLite 3.33.0 版本才新增的功能,因此通过原生源安装、升级的 SQLite3 都不支持该模式,会触发上述报错。
解决方案
方案1:使用现有模式实现等效效果(推荐)
无需升级 SQLite3,使用系统自带的 column 模式配合表头显示,即可实现和 table 模式几乎一致的展示效果:
sqlite> .mode column sqlite> .header on
执行上述两个命令后,查询结果会自动对齐列、显示字段表头,日常使用完全可以替代 table 模式。
方案2:添加第三方 PPA 源安装高版本 SQLite3
如果需要使用原生 table 模式,可以通过添加第三方 PPA 源安装更新版本的 SQLite3:
# 添加提供高版本 SQLite3 的 PPA 源 sudo add-apt-repository ppa:jonathonf/backports # 更新软件源缓存 sudo apt update # 升级 SQLite3 sudo apt install sqlite3
安装完成后执行 sqlite3 --version 确认版本 ≥ 3.33.0,即可正常使用 .mode table 命令。
方案3:手动编译安装最新版 SQLite3
不想添加第三方源的场景下,可以直接下载 SQLite 源码编译安装:
# 安装编译所需依赖 sudo apt install build-essential # 下载最新版 SQLite 源码压缩包后,执行解压并进入源码目录 tar -xzf <下载的源码压缩包文件名> cd <解压后的源码目录名> # 编译安装 ./configure make sudo make install # 刷新系统动态库缓存 sudo ldconfig
安装完成后重启终端确认版本符合要求即可。
内容的提问来源于stack exchange,提问作者Dan G
相关产品推荐
相关产品推荐

