如何获取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
相关产品推荐
相关产品推荐

