解决Python SQLite3报错:SQLite objects created in a thread can only be used in that same thread

使用在 Python3.6 环境下,当多线程环境中,某个线程使用sqlite3模块连接sqlite3 数据库,稍后的查询过程中,出现错误提醒:SQLite objects created in a thread can only be used in that same thread …
查阅文档发现sqlite3.connect()方法中有个check_same_thread缺省值为True,将其设置为False,即可解决该报错。

例如:

import sqlite3

在多线程中会报错的连接:

# 默认check_same_thread=True
conn = sqlite3.connect(db_path, timeout=10)

在多线程中不会报错的连接:

# 显式设置check_same_thread=False
conn = sqlite3.connect(db_path, timeout=10, check_same_thread=False)