2010-01-13 100 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

相關問題