2010-01-13 48 views
0

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

举例来说,如果我做的SQLAlchemy相当于:

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

...有一种方式来获得x的新的价值?或者我必须做一个SELECT?

回答

2

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

+0

你能举一个''SELECT'嵌入式SQL表达式的例子吗?不知道我甚至会将它添加到我的'update'对象中。 – dwanderson 2017-11-02 01:28:07

相关问题