SQLite 于2026年10月9日发布的 3.54.0 扩展了交互式命令行工具 CLI 的提示符功能。等待输入时,提示符可显示数据库名称和事务是否仍处于打开状态;输入尚未完成时,还能显示所需的结束字符。
原有的固定提示符 sqlite> 和 ...> 不显示当前数据库或事务状态。事务是将多项操作作为一个整体确认(提交)或取消的处理单元;事务仍处于打开状态,意味着这组操作尚未结束。新功能并不改变 SQL 的行为,而是侧重于在输入位置呈现这些状态。
文件名与事务状态的显示规则
提示符字符串中可以加入随当前状态改变显示内容的转义码。起始字符是斜杠 /,而非反斜杠。/f 显示不含路径的数据库文件名,内存数据库则显示为 memory。
/x 后面的文本仅在事务处于打开状态时显示。/: 后面可放置事务未处于打开状态时显示的文本,/; 用于结束条件区段。因此,即使不用颜色,也能用星号等字符标记仍处于打开状态的事务。
SQLITE_PS2 是输入尚未完成时使用的续行提示符,例如缺少分号时。仅在此处生效的 /C 会显示结束当前命令并返回主提示符所需的最短字符串。它不会代为输入字符,也不会执行命令。
通过启动环境与 .prompt 调整显示
启动时,若存在 SQLITE_PS1 和 SQLITE_PS2 环境变量,它们会分别覆盖主提示符和续行提示符的编译时默认值。运行期间,可以向 .prompt 传入两个字符串,同时修改两种提示符;也可以只传入一个字符串,仅修改主提示符。
可通过 .prompt --no-color 或非空的 NO_COLOR 环境变量关闭颜色。不过,如果配置只靠颜色区分事务状态,关闭颜色后也就失去了这种区分。实际显示效果可能因用户配置和编译时默认值而异。
以上说明依据官方发行说明和提示符文档。提示符文档标注的2026年10月5日是最后修改日期,并非版本发布日期。这些说明不是运行可执行文件或衡量易用性效果所得的结果,因此不能据此认定该功能能减少失误或提高操作速度。
/x 反映的只是事务仍处于打开状态,并不保证提交成功或数据已持久保存。/C 同样只是结束输入的提示,并不验证 SQL 是否符合编写者的意图。
该功能的支持范围是 SQLite 3.54.0 及之后版本的 CLI。不能据此认为旧版可执行文件、GUI 工具或内嵌 SQLite 库的应用程序也提供相同的显示功能。
查看当前配置与关闭颜色显示
在 SQLite 3.54.0 CLI 的交互式会话中,可用以下命令查看当前提示符字符串并关闭颜色。这是供读者执行的检查步骤,并非验证所有状态切换的测试。
.prompt --show
.prompt --no-color实际使用中,值得关注的不是颜色是否醒目,而是当前配置呈现了哪些状态。关闭颜色与保留星号等状态标记是两项独立设置。因此,查看提示符字符串不仅是检查外观,也是了解哪些信息仍被保留的起点。
SQLite 3.54.0 的提示符让当前状态和输入的结束位置更清晰,但它并不保证 SQL 正确或事务成功。
