gpt4 book ai didi

python - SQLAlchemy:如何在不查询的情况下删除多行

转载 作者:IT老高 更新时间:2023-10-28 20:45:37 25 4
gpt4 key购买 nike

我有一个包含数百万行的表。我想通过 in 子句删除多行。但是,使用代码:

session.query(Users).filter(Users.id.in_(subquery....)).delete()

上面的代码会查询结果,然后执行删除。我不想那样做。我要速度。

我希望能够执行(是的,我知道 session.execute):从 id in () 的用户中删除

所以问题:如何使用 ORM 获得两全其美的效果?我可以在不对查询进行硬编码的情况下进行删除吗?

最佳答案

是的!您可以使用关联的 where 子句对表对象调用 delete()

类似这样的:

stmt = Users.__table__.delete().where(Users.id.in_(subquery...))

(然后别忘了执行语句:engine.execute(stmt))

source

关于python - SQLAlchemy:如何在不查询的情况下删除多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39773560/

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