【发布时间】:2020-05-03 20:43:25
【问题描述】:
我使用从https://www.sqlite.org/download.html下载的最新的 sqlite3.exe v3.25 工具创建了一个新的 sqlite3 数据库
我想验证创建的 sqlite 数据库是 v3.25 以利用最新功能。
如何使用 sqlite3.exe 工具验证版本是否为 v3.25?我欢迎其他方式这样做。
我在这里尝试了投票最多的答案; How to find SQLITE database file version
但是,答案无济于事。它返回库版本,而不是数据库文件版本。
我使用的是 Windows 10。
【问题讨论】:
-
sqlite3 程序在启动时打印出包含版本的横幅消息。
-
数据库文件本身有版本,但格式几年没变。默认情况下使用当前版本,除非您在新数据库中创建任何表之前使用 pragma 更改它。
-
工具。您可以使用
legacy_file_formatpragma 找到文件版本,除非您正在处理使用 3.7.10 之前的 sqlite 版本创建的数据库,否则它可能会返回 4,在这种情况下它可能是 1 (或者可能是 2 或 3)。 Details -
我突然意识到,您可能认为用于创建数据库的 sqlite 版本会影响以后可以使用该文件的版本。只要该 sqlite 版本可以读取文件版本(1-4),它就不会(需要注意的是,具有 WITHOUT ROWID 表的数据库需要 3.8.2 或更高版本;该功能是在没有碰撞的情况下添加的无论出于何种原因,文件格式)。
-
是的,它必须使用 3.25 或更高版本。如果与 python 捆绑的版本已经更新发布,我会感到惊讶。