【发布时间】:2010-01-13 18:48:06
【问题描述】:
在调用 update() 之后,我知道返回值有一个 .rowcount 属性,该属性将显示更改了多少行。有没有办法获得它们被更改为的实际新 值?
例如,如果我执行 SQLAlchemy 等效项:
UPDATE t SET x=x+1 WHERE y=z
...有没有办法获得 x 的新值?还是我必须做一个 SELECT?
【问题讨论】:
标签: python sql sqlalchemy
在调用 update() 之后,我知道返回值有一个 .rowcount 属性,该属性将显示更改了多少行。有没有办法获得它们被更改为的实际新 值?
例如,如果我执行 SQLAlchemy 等效项:
UPDATE t SET x=x+1 WHERE y=z
...有没有办法获得 x 的新值?还是我必须做一个 SELECT?
【问题讨论】:
标签: python sql sqlalchemy
ResultProxy 有两个方法,last_updated_params() 返回一个包含执行语句时发送的每个绑定参数值的字典,以及一个集合 postfetch_cols(),一个嵌入了内联 SQL 表达式的列列表在 UPDATE 中(您必须为此后选择值)。这些集合仅用于单语句执行,而不是传递多组参数的“executemany”调用。
【讨论】:
SELECT嵌入式SQL表达式的例子吗?不知道我什至会把它添加到我的 update 对象中。