我一直在尝试使用一个python文件创建一个sqlite数据库,并使用另一个python文件访问它,但不断收到错误。我有2个文件,main.py和file2.py
main.py
:
import sqlite3, os
conn = sqlite3.connect(':memory:')
queryCurs = conn.cursor()
def createTable():
queryCurs.execute('''CREATE TABLE test(id INTEGER PRIMARY KEY, name TEXT)''')
def addInitial(name):
queryCurs.execute('''INSERT INTO test(name) VALUES (?)''',(name,))
createTable()
addInitial("John")
conn.commit()
os.system('file2.py')
以下是file2.py
import sqlite3, os, time
conn = sqlite3.connect(':memory:')
queryCurs = conn.cursor()
queryCurs.execute('SELECT name FROM test WHERE id=1')
for i in queryCurs:
for j in i:
name = j
print name
conn.commit()
我收到错误:OperationalError:没有这样的表:test
答案 0 :(得分:0)
每个connect
调用都会创建自己的内存数据库。
要共享相同的内存数据库,请创建单个连接并在两个模块中共享该Python对象。