gpt4 book ai didi

python - 从 SELECT 中插入 sqlalchemy

转载 作者:太空宇宙 更新时间:2023-11-03 13:41:27 26 4
gpt4 key购买 nike

我遇到了麻烦。SELECT 构造中的 INSERT 会编译,但不会执行。没有任何错误。如果查看日志文件,您将不会像 ISERT INTO ... SELECT ... FROM ... 这样的 SQL。

这是我的代码:

    DBSession.query(ProductMediaGalleryArchive)\
.filter(ProductMediaGalleryArchive.product_id.in_(pack))\
.delete(synchronize_session=False)

query = DBSession.query(
ProductMediaGallery.code,
ProductMediaGallery.filename,
ProductMediaGallery.mimetype,
ProductMediaGallery.sha1hash,
ProductMediaGallery.position,
ProductMediaGallery.excluded,
ProductMediaGallery.created,
ProductMediaGallery.updated,
ProductMediaGallery.id,
ProductMediaGallery.is_rollover,
Product.code.label('product_code'),
).join((Product, Product.id==ProductMediaGallery.product_id))\
.filter(ProductMediaGallery.product_id.in_(pack))

insert(ProductMediaGalleryArchive).from_select(
(
ProductMediaGalleryArchive.code,
ProductMediaGalleryArchive.filename,
ProductMediaGalleryArchive.mimetype,
ProductMediaGalleryArchive.sha1hash,
ProductMediaGalleryArchive.position,
ProductMediaGalleryArchive.excluded,
ProductMediaGalleryArchive.created,
ProductMediaGalleryArchive.updated,
ProductMediaGalleryArchive.id,
ProductMediaGalleryArchive.is_rollover,
ProductMediaGalleryArchive.product_code
),
query
)

有人知道为什么不执行吗?

最佳答案

此答案已关闭。我错过了 execute 语句。insert().from_select() 仅生成文本、SQL 查询。它应该按如下方式使用:

session.execute(insert(...).from_select(...)

关于python - 从 SELECT 中插入 sqlalchemy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30462684/

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