当前位置: 首页 > 面试题库 >

SQLAlchemy有一种方法可以在删除执行后返回结果

宗政功
2023-03-14
问题内容

我找不到关于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()


 类似资料:
  • 在Spock规范中,expect:或then:block中的任何行都被计算并断言为,除非它具有返回类型为的签名。 方法在类中定义如下: 我故意在那里断言,这样它就不会失败。即使失败并出现错误: 如何以及为什么方法调用结果被计算为?

  • 我正在使用Volley从HTTP API获取JSONObject。 我的问题是我想让我的方法等待响应侦听器得到结果,否则我的方法返回的是一个空对象。  我尝试使用synchronize wait和notify来实现它,但似乎不起作用,activity在isfinished.wait()之后冻结,并且侦听器没有触发。你能告诉我我的代码出了什么问题吗?

  • 我在试用GraphQL。我从postgresql中提取数据,除了一个问题,解析在查询完成之前就完成了,其他一切似乎都能正常工作。我以为我的查询承诺工作正常。这里是我为查询数据库而创建的类: 下面是我的graphql查询: 我注释了我的结果,只是想了解一下返回静态内容的情况,结果似乎在then()内时不会返回到graphisql(这意味着在then()之前完成的解析)。输出: } 我可以通过将静态返

  • 问题内容: 我希望用户输入时间,例如12:00,但是我需要弄清楚一些事情,我实在是太可惜了。 我可以将文字限制为5个字符吗? 我可以在代码中嵌入冒号,以便用户无法删除它吗? 最后,我可以接受该代码并验证它只是数字(当然忽略了冒号) 问题答案: 答案是使用JFormattedTextField和MaskFormatter。 例如: Java编译器将要求您在创建MaskFormatter时捕获或抛出P

  • 问题内容: 我有一个定制课程, 这个类不可iterable或indexable之类的。如果有的话 可能的话,我想保持这种状态。有什么可能吗 喜欢下面的工作吗? 让我想到这个的是 以及 列为 中的“公共顺序操作” [文档](https://docs.python.org/3/library/stdtypes.html#通用-顺序- 操作)。自 已考虑 对于同一个文档的序列类型,我认为 对“range