gpt4 book ai didi

python - SQLAlchemy 和不明确的列名

转载 作者:太空狗 更新时间:2023-10-30 03:06:30 25 4
gpt4 key购买 nike

我在谷歌上进行了很好的搜索,但在我的案例中似乎找不到这个错误的答案。

我没有做任何连接,我只是想从这个表中获取所有内容。

所有其他查询都工作正常,但这似乎与此错误有关:

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 设置为主键,也会出现同样的错误。

还有其他人遇到过这个问题吗?

最佳答案

我的猜想是在覆盖使用 autoload=True 反射(reflect)的列时列名的区分大小写。要验证,请注释掉所有列定义并保留 autoload=True。然后反其道而行之。

参见 Reflecting Database Objects - Overriding Reflected Columns SA 文档以获取更多信息。

关于python - SQLAlchemy 和不明确的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8120837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com