【发布时间】:2011-11-14 11:24:03
【问题描述】:
我在 google 上进行了很好的搜索,但在我的案例中似乎找不到此错误的答案。
我没有进行任何连接,我只是想从这个表中获取所有内容。
所有其他查询都可以正常工作,但这似乎与此错误有关:
InvalidRequestError: Ambiguous column name 'INMPTL_WIW_BATAM_STG.pers_no' in result set! try 'use_labels' option on select statement.
型号:
batamStg = sa.Table("INMPTL_WIW_BATAM_STG", meta.metadata,
sa.Column("PERS_NO", sa.types.String(),primary_key=True),
sa.Column("FIRST_NAME", sa.types.String()),
sa.Column("LAST_NAME", sa.types.String()),
sa.Column("KNOWN_AS", sa.types.String()),
sa.Column("JOB_TITLE", sa.types.String()),
sa.Column("MANAGER_NAME", sa.types.String()),
sa.Column("MANAGER_ID", sa.types.String()),
sa.Column("MANAGER_COST", sa.types.String()),
autoload=True,
autoload_with=engine)
查看:
btm = meta.Session.query(model.BatamStaging).all();
这里只有一个名为 Pers_no 的列,所有主键都是唯一的。
如果我尝试将 LAST_NAME 设置为主键,也会出现同样的错误。
还有其他人遇到过这个问题吗?
【问题讨论】:
-
我不知道它为什么会这样做,但您是否尝试过它的建议并使用“use_labels”?
-
使用execute()时,select语句的use_labels不是吗?
-
我相信您还可以启用详细调试以准确查看 SQLAlchemy 生成的 SQL 语句,这可能会帮助您准确了解收到此错误消息的原因。
标签: python sqlalchemy ambiguous