当前位置:  开发笔记 > 编程语言 > 正文

如何获取sqlalchemy中受影响的行数?

如何解决《如何获取sqlalchemy中受影响的行数?》经验,为你挑选了2个好方法。

我有一个关于Python和sqlalchemy模块的问题.cursor.rowcountsqlalchemy Python中的等价物是什么?



1> DNS..:

虽然文档中没有真正说明,但ResultProxy对象确实也有rowcount属性.


实际上,“ rowcount”并不是“受影响的行”的计数。详见我的答案。

2> Shiplu Mokad..:

rowcount不是受影响的行数.它是匹配行的数量.看看文档说的是什么

此属性返回匹配的行数,这不一定与实际修改的行数相同- 例如,如果给定的SET值与给定的行相同,则UPDATE语句可能在给定行上没有净更改那些已经存在的人.这样的行将匹配但不会被修改.在具有两种样式(例如MySQL)的后端上,rowcount默认情况下配置为在所有情况下返回匹配计数

因此,对于以下两种情况rowcount都会报告1.因为Rows matched: 1

    一行随update声明而改变.

    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    

    update执行相同的声明.

    Query OK, 0 row affected (0.00 sec)
    Rows matched: 1  Changed: 0  Warnings: 0
    


那么,OP的问题的答案是什么?
尽管这种有用的见解澄清了一个误解,但它并不能为该问题提供有用的答案...如果没有答案,则还应指定它。谢谢
推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有