Не могу записать нужное мне значение переменной в SQLite3
Сегодня только начал изучать SQlite3, поэтому не обессудьте. Извиняюсь, если дубликат. Есть у меня такой фрагмент кода:
gtavgen_tokens = sqlite3.connect('gtavgen_tokens')
sql = gtavgen_tokens.cursor()
sql.execute("""CREATE TABLE IF NOT EXISTS gtavtokens (
gtavtokens TEXT
)""")
payid = ''.join(random.choice(chars) for _ in range (15))
gtavgen_tokens.execute(f"INSERT INTO `gtavtokens` VALUES ('{payid}')")
gtavgen_tokens.commit()
print(gtavgen_tokens)
После запуска кода получаю ошибку:
gtavgen_tokens.execute(f"INSERT INTO gtavtokens VALUES ('{payid}')")
sqlite3.ProgrammingError: SQLite objects created in a thread can only be used in that same thread. The object was created in thread id 10216 and this is thread id 10320.
Что можно сделать?
Ответы (1 шт):
Автор решения: St0rm1k
→ Ссылка
ну в первую очередь, понять что запросы к бд делать через фун-ю
def insert_payid(payid: str):
gtavgen_tokens = sqlite3.connect('gtavgen_tokens')
sql = gtavgen_tokens.cursor()
sql.execute("""CREATE TABLE IF NOT EXISTS gtavtokens (gtavtokens TEXT)""")
payid = ''.join(random.choice(chars) for _ in range (15))
gtavgen_tokens.execute(f"INSERT INTO gtavtokens (gtavtokens,) VALUES ('{payid}',)")
gtavgen_tokens.commit()
gtavgen_tokens.close()