如何使用python将sqlite TEMP_STORE设置为3

kninwzqo  于 2022-12-10  发布在  Python
关注(0)|答案(1)|浏览(133)

我正在使用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使用临时文件的内存。

06odsfpq

06odsfpq1#

您需要检查pragma_compile_options输出的内容,以查看TEMP_STORE的值。只有当TEMP_STORE明确设定为非零值时,才能变更执行阶段设定。在这种情况下,请使用PRAGMA temp_store = 2来达成目的。请参阅https://www.sqlite.org/pragma.html#pragma_temp_store。

相关问题