我正在使用python和sqlite3,并希望将内存用于临时文件。根据文档,https://www.sqlite.org/compile.html,SQLITE_TEMP_STORE=3表示“始终使用内存”。我可以使用以下命令检查当前值:
import sqlite3
conn = sqlite3.connect("test.db")
cur = conn.cursor()
check_db = conn.execute( """ select * from pragma_compile_options where compile_options like 'TEMP_STORE=%' """).fetchall()
print("check_db:", check_db)
尝试更新时:
sq_update = """ update pragma_compile_options set compile_options = 'TEMP_STORE=3' where compile_options like 'TEMP_STORE=1' """
conn.execute(sq_update) conn.commit()
返回以下错误。内部错误〉sqlite3。操作错误:不能修改表pragma_compile_options
我的目标是设置告诉sqlite使用临时文件的内存。
1条答案
按热度按时间06odsfpq1#
您需要检查
pragma_compile_options
输出的内容,以查看TEMP_STORE
的值。只有当TEMP_STORE
明确设定为非零值时,才能变更执行阶段设定。在这种情况下,请使用PRAGMA temp_store = 2
来达成目的。请参阅https://www.sqlite.org/pragma.html#pragma_temp_store。