我想知道是否有PRAGMA语句,例如。
PRAGMA journal_mode = OFF
在关闭连接后,还是在每次打开与数据库的连接时都必须设置它的情况下,db中的“剩余”?
答案 0 :(得分:0)
PRAGMA设置是否是永久性的,取决于所使用的各个PRAGMA设置。
例如 journal_mode 通常不是永久性的:-
此编译指示查询或设置关联数据库的日志模式 与当前数据库连接。
但是,设置 WAL 是永久性的,按照:-
在数据库头文件中将偏移量18和19的字节设置为2。WAL日记模式使用预写日志而不是回滚 日记以执行交易。 WAL日记模式为 持续性;设置后,该效果在多个 数据库连接以及关闭并重新打开数据库之后。一种 WAL日记模式下的数据库只能通过SQLite版本访问 3.7.0(2010-07-21)或更高版本。
PRAGMA schema.journal_mode = DELETE | TRUNCATE | PERSIST | MEMORY | WAL | OFF
并按照
1.3.3。文件格式版本号
偏移量为18和19的文件格式写入版本和文件格式读取版本旨在 用于在将来版本的SQLite中增强文件格式。在 当前版本的SQLite,对于回滚,这两个值均为1 日记模式和2个WAL日记模式。如果是 编码为当前文件格式规范的SQLite遇到 读取版本为1或2但写入版本的数据库文件 大于2,则必须将数据库文件视为 只读。如果读取版本大于2的数据库文件是 遇到,则无法读取或写入该数据库。