我正在从SQLite数据库中执行select()
,然后再执行insert()
:
engine = create_engine('sqlite:///testdb.db')
metadata = MetaData(bind=engine)
test = Table('test', metadata, autoload=True)
# Select all from pending_data
sel = select([test])
res = engine.execute(sel)
print res
# do an insert into pending_data
test.insert()\
.values(info='blah')\
.execute()
当我的代码执行插入行时,我会收到以下错误提示:
sqlalchemy.exc.ResourceClosedError: This Connection is closed
不过,如果我将我的res转换为列表,像这样:
res = list(engine.execute(sel))
我的代码运行良好。这里发生了什么事情?