在调用update()之后,我知道返回值有一个.rowcount属性,该属性将显示已更改的行数。有没有办法让实际的新值更改为?
例如,如果我将SQLAlchemy等效于:
UPDATE t SET x=x+1 WHERE y=z
...有没有办法获得x的新值?或者我必须做一个SELECT?
答案 0 :(得分:3)
ResultProxy
有两个方法,last_updated_params()
返回与语句执行一起发送的每个绑定参数值的字典,以及一个集合postfetch_cols()
,一个列的列表内联SQL表达式嵌入在UPDATE中(您必须为其后选择值)。这些集合仅填充单语句执行,而不是“executemany”调用,它们传递多组参数。