📅  最后修改于: 2023-12-03 15:18:56.834000             🧑  作者: Mango
在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执行交易的例子,我们可以根据需要进行修改。