gpt4 book ai didi

python - 多个 SQLite 连接到 :memory: 中的数据库

转载 作者:行者123 更新时间:2023-11-28 22:37:33 27 4
gpt4 key购买 nike

是否可以从不同的线程访问内存中的 SQLite 数据库?

在下面的示例代码中,我在内存中创建了一个 SQLite 数据库并创建了一个表。当我现在转到不同的执行上下文时,我认为当我转到不同的线程时必须这样做,创建的表不再存在。如果我打开一个基于文件的 SQLite 数据库,表就会在那里。

我能否为内存数据库实现相同的行为?

from peewee import *
db = SqliteDatabase(':memory:')

class BaseModel(Model):
class Meta:
database = db

class Names(BaseModel):
name = CharField(unique=True)

print(Names.table_exists()) # this returns False
Names.create_table()
print(Names.table_exists()) # this returns True

print id(db.get_conn()) # Our main thread's connection.

with db.execution_context():
print(Names.table_exists()) # going to another context, this returns False if we are in :memory: and True if we work on a file *.db
print id(db.get_conn()) # A separate connection.

print id(db.get_conn()) # Back to the original connection.

最佳答案

关于python - 多个 SQLite 连接到 :memory: 中的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36447766/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com