📜  Python MySQL执行交易(1)

📅  最后修改于: 2023-12-03 15:18:56.834000             🧑  作者: Mango

Python MySQL执行交易

在MySQL中,一个事务是指一系列的操作作为单个执行单元,要么全部执行成功,要么全部回滚到最初状态。

Python中的标准库mysql-connector-python支持通过start_transaction()commit()方法执行事务。下面是一个简单的例子。

import mysql.connector

# 连接到MySQL数据库
cnx = mysql.connector.connect(user='user', password='password',
                              host='localhost', database='database_name')

# 开始一个新的事务
cnx.start_transaction()

try:
    cursor = cnx.cursor()

    # 执行一些修改操作
    cursor.execute("UPDATE table1 SET column1=%s WHERE id =%s",("new_value", 1))
    cursor.execute("UPDATE table2 SET column2=%s WHERE id =%s",("new_value", 2))

    # 提交事务
    cnx.commit()

except mysql.connector.Error as error:
    # 回滚事务
    cnx.rollback()
    print("Failed executing transaction: {}".format(error))

finally:
    cursor.close()
    cnx.close()

在上面的代码中,我们首先连接到MySQL数据库。然后,我们开始一个新事务。接下来,我们创建一个游标,并执行两个修改操作。最后,我们提交事务。

如果在事务执行期间发生任何错误,我们可以回滚事务,并打印出错误消息。

注意,一旦我们开始一个事务,我们必须通过调用commit()rollback()方法来结束它。否则,事务会一直保留在MySQL中,直到连接被关闭或事务被回滚。

以上是一个基本的Python MySQL执行交易的例子,我们可以根据需要进行修改。