我找不到关于Returning子句的等效解决方案
DELETE FROM items
WHERE sub_item_id IN %(sub_item_ids)s
RETURNING item_id, sub_item_id,
我在SQLAlchemy中做到了:
purge_family = session.query(ItemItem).filter(ItemItem.sub_item_id.in_(sub_item_ids))
.delete(synchronize_session=False)
我需要在执行DELETE语句时返回item_id,sub_item_id集。
最佳答案
要按原样执行查询,请使用Core构造:
stmt = ItemItem.__table__.delete().\
where(ItemItem.sub_item_id.in_(sub_item_ids)).\
returning(ItemItem.item_id, ItemItem.sub_item_ids)
results = session.execute(stmt).fetchall()