首页 > 解决方案 > KeyError:使用 SQLAlchemy 时 mySQL 数据库中的“TABLENAME”

问题描述

我对 SQLAlchemy ORM 相当陌生。我正在使用我在 .sql 文件中导入其架构的 mySQL 数据库。我创建了引擎,连接到数据库。我将 MetaData 和 Session 对象都绑定到引擎。但是当我跑的时候:

for t in metadata.tables:
    print(t.name)

我收到以下错误:

fkey["referred_table"] = rec["TABLENAME"]
KeyError: 'TABLENAME'

那么我在这里做错了什么?这是基本的东西吗?以下是完整代码:

import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy import *

engine = create_engine('mysql://sunnyahlawat:miq182@localhost/sqsunny')
engine.connect()
Session = sessionmaker(bind=engine)
session = Session()

metadata = MetaData(bind = engine, reflect = True)
#metadata.reflect(bind = engine)

for t in metadata.tables:
    print(t.name)

#print(engine.table_names())

标签: pythonmysqlsqlalchemy

解决方案


推荐阅读