You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Spanner事务中update语句执行后的更新行数

问题描述

我在事务内运行如下代码,希望获取update语句执行后更新的行数:

def update_session(transaction):
    global code
    global sessionexists
    count = transaction.execute_sql("update sessions set seentime=@t where sessioncode=@s", params={"s":code,"t":datetime.utcnow()}, 
       param_types={"t": spanner.param_types.TIMESTAMP})
    print("count "+str(count))
    sessionexists = 0
    for c in count:
        print(c)
        sessionexists = c

但execute_sql方法不会返回更新行数,请问有什么方法可以实现该需求?

解决方案

经实测验证,使用execute_update方法即可实现需求,示例如下:

count = transaction.execute_update("update sessions set seentime=@t where sessioncode=@s", params={"s":code,"t":datetime.utcnow()}, 
       param_types={"s": spanner.param_types.STRING,"t": spanner.param_types.TIMESTAMP})
# 此处count即为更新的行数

内容的提问来源于stack exchange,提问作者Aftershock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:57:05