【问题标题】:How to get rows affected in a UPDATE statement by PyMySQL?如何让 PyMySQL 在 UPDATE 语句中受到影响的行?
【发布时间】:2017-01-02 23:27:45
【问题描述】:

我需要通过 PyMYSQL 更新 MySQL 数据库中的一些行,并且我想知道有多少行已被更改。

import pymysql
db = pymysql.connect(xxxx)
cur = db.cursor()
sql = "update TABLE set A = 'abc' where B = 'def'"
cur.execute(sql, params)
db.commit()

【问题讨论】:

    标签: python mysql pymysql


    【解决方案1】:

    Mysql 提供了一个特殊的调用来帮助你实现这个目标:mysql-affected-rows。此函数在更新时特别有用,因为它只会返回受影响的行数,而不是更新值相似的行数。文档是here

    如何在 Python 中使用它? returnexecute 命令将准确返回您。

    affected_rows = cur.execute(sql, params)
    

    【讨论】:

      【解决方案2】:

      您可以在执行阶段后通过cursor.rowcount 执行此操作。这个的ff返回值与0相反,表示有一行或多行受到影响。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-26
        • 2016-11-01
        • 2012-02-04
        相关资源
        最近更新 更多