python MySQLdb:如果受影响的行为0,回滚而不是提交?

时间:2018-12-12 16:30:34

标签: python mysql-python

我正在使用带有MySQLdb的Python更新表。我看到了一些示例代码,例如:

try: affected_rows = cursor.execute('update my_table ... where ...') db.commit() except MySQLdb.OperationalError as e: db.rollback() logging.info(repr(e))

这当然是正确的,但是我想知道,如果受影响的行== 0(这意味着什么都不会被实际更新),我们是否可以只使用rollback()而不是commit(),如下所示?我猜跳过真正的提交可以提高性能吗?

try: affected_rows = cursor.execute('update my_table ... where ...') if affected_rows == 0: db.rollback() else: db.commit() except MySQLdb.OperationalError as e: db.rollback() logging.info(repr(e))

这有效吗?这是对的吗?感谢您的解释。

0 个答案:

没有答案