Python SQLAlchemy-Can';关闭连接一次后,无法编辑表

Python SQLAlchemy-Can';关闭连接一次后,无法编辑表,python,sqlite,sqlalchemy,database-connection,Python,Sqlite,Sqlalchemy,Database Connection,我是炼金术新手。我使用Metadata()创建了一个基本表并关闭了连接。现在,即使重新打开连接,我似乎也无法访问数据库。我似乎遗漏了一行代码,但无法理解它是什么 以下是我尝试重新打开连接的方式: engine = create_engine('sqlite:///C:\\Users\\..\\Documents\\Untitled Folder\\Database.db', echo= False) metadata = MetaData() conn = engine.connect() t

我是炼金术新手。我使用Metadata()创建了一个基本表并关闭了连接。现在,即使重新打开连接,我似乎也无法访问数据库。我似乎遗漏了一行代码,但无法理解它是什么

以下是我尝试重新打开连接的方式:

engine = create_engine('sqlite:///C:\\Users\\..\\Documents\\Untitled Folder\\Database.db', echo= False) 
metadata = MetaData()
conn = engine.connect()
trans = conn.begin()
trans
但是,每次尝试对数据库中包含的表进行选择或执行某些操作时,都会出现以下错误:

>ins=tabledata.insert().values(全名='Hello',year='2018')
---------------------------------------------------------------------------
NameError回溯(最近一次呼叫上次)
在()
---->1 ins=tabledata.insert().values(全名='Hello',year='2018')
NameError:未定义名称“tabledata”
我知道该表存在,但没有被删除,因为我有一个浏览器,可以查看数据库,但它仍然存在

以下是我在数据库中创建表的方式,以供参考: 一切正常,直到我关闭连接并再次尝试重新启动

metadata = MetaData()

tabledata = Table('tabledata', metadata,
    Column('id', Integer, primary_key= True ),
    Column('fullname', String),
    Column('year', String),)

metadata.create_all(engine)

你知道我需要做什么才能再次访问该表吗

为将来可能会问同样问题的其他人找到了遗漏的一行

tabledata = Table('tabledata', metadata, autoload=True, autoload_with=engine)
因此,重新加载表的完整方法是:

engine = create_engine('sqlite:///C:\\Users\\..\\Documents\\UntitledFolder\\Database.db', echo= False) 
metadata = MetaData()
tabledata = Table('tabledata', metadata, autoload=True, autoload_with=engine)
conn = engine.connect()
conn
一切都很好