文章内容

2021/9/1 17:07:16,作 者: 黄兵

SQLAlchemy 删除多行数据

最近需要使用 SQLAlchemy 删除多行数据,

一种写法如下:

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

这里的 subquery 可以是 id 列表,例如:[1,2,3,4,5]

第二种写法是:

stmt = Users.__table__.delete().where(Users.id.in_(subquery...))
db.session.execute(stmt)
db.session.commit()

第二种写法的好处是不用先查询出来之后再删除,对于大表比较有用。


参考资料:

1、SQLAlchemy: How do you delete multiple rows without querying

分享到:

发表评论

评论列表