【问题标题】:After doing a SQLAlchemy update(), is there a way to get the changed values?在执行 SQLAlchemy update() 之后,有没有办法获取更改的值?
【发布时间】:2010-01-13 18:48:06
【问题描述】:

在调用 update() 之后,我知道返回值有一个 .rowcount 属性,该属性将显示更改了多少行。有没有办法获得它们被更改为的实际新

例如,如果我执行 SQLAlchemy 等效项:

UPDATE t SET x=x+1 WHERE y=z

...有没有办法获得 x 的新值?还是我必须做一个 SELECT?

【问题讨论】:

    标签: python sql sqlalchemy


    【解决方案1】:

    ResultProxy 有两个方法,last_updated_params() 返回一个包含执行语句时发送的每个绑定参数值的字典,以及一个集合 postfetch_cols(),一个嵌入了内联 SQL 表达式的列列表在 UPDATE 中(您必须为此后选择值)。这些集合仅用于单语句执行,而不是传递多组参数的“executemany”调用。

    【讨论】:

    • 你能举一个post-SELECT嵌入式SQL表达式的例子吗?不知道我什至会把它添加到我的 update 对象中。
    猜你喜欢
    • 2017-11-29
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 2019-11-29
    • 2020-12-09
    • 1970-01-01
    • 2013-01-30
    • 2022-01-06
    相关资源
    最近更新 更多