在执行SQLAlchemy update()之后,有没有办法获取更改的值?

时间:2010-01-13 18:48:06

标签: python sql sqlalchemy

在调用update()之后,我知道返回值有一个.rowcount属性,该属性将显示已更改的行数。有没有办法让实际的新更改为?

例如,如果我将SQLAlchemy等效于:

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

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

1 个答案:

答案 0 :(得分:3)

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