我正在将Python 2.7与sqlite3版本2.6.0一起使用。我正在尝试创建一个内存数据库,从物理数据库将其附加到数据库中并插入数据,然后稍后再查询。如果有人可以提供帮助,我会遇到问题。
以下两个失败,并显示错误消息“无法打开数据库文件”
con = sqlite3.connect(":memory:?cache=shared")
con = sqlite3.connect("file::memory:?cache=shared")
在我尝试访问附加的DB中的表之前,以下操作有效。我可以使用物理数据库来完成此任务。我怀疑这个问题没有共享cache。
con = sqlite3.connect(":memory:")
cursor = con.cursor()
cursor.executescript("create table table1 (columna int)")
cursor.execute("select * from table1")
con2 = sqlite3.connect("anotherdb.db")
cursor2 = con2.cursor()
cursor2.execute("attach database ':memory:' as 'foo'")
cursor2.execute("select * from foo.table1")
最后一次选择的错误是“没有这样的表:foo.table1”。
谢谢。