当前位置:首页 > 数据库 > SQlite

使用python在sqlite3中附加数据库

对于此示例,我在工作目录中有db_master.sqlite和db_1.sqlite.

当我这样做时,一切似乎都工作正常:

import sqlite3
conn = sqlite3.connect('db_master.sqlite')
c = conn.cursor()
c.execute('ATTACH DATABASE "db_1.sqlite" AS db_1')
c.execute('SELECT * FROM db_1.my_table')
conn.commit()
c.fetchall()

我按预期获得了列数据.但是当我关闭连接并重新打开它时,数据库似乎不再连接.

conn.close()
conn = sqlite3.connect('db_master.sqlite')
c = conn.cursor()
c.execute('SELECT * FROM db_1.my_table')
c.fetchall()

OperationalError: no such table: db_1.my_table

解决方法:

您将数据库附加到您的连接,而不是特定的数据库.每次创建新的数据库连接时,都必须重新连接.

ATTACH DATABASE documentation开始:

The ATTACH DATABASE statement adds another database file to the current database connection.

强调我的.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!