MySQL事务处理异常:回滚失败示例

原创 柔情只为你懂 2025-01-22 09:27 66阅读 0赞

在MySQL中,当事务中的某个SQL语句执行时出现异常,如回滚操作失败时,通常会抛出RollbackErrorDatabaseError等异常。以下是一个示例:

  1. import mysql.connector
  2. try:
  3. # 创建数据库连接
  4. db = mysql.connector.connect(
  5. host='localhost',
  6. user='yourusername',
  7. password='yourpassword'
  8. )
  9. # 创建一个cursor对象,用于执行SQL语句
  10. cursor = db.cursor()
  11. # 开始事务
  12. db.begin_transaction()
  13. # 发生异常的SQL语句
  14. cursor.execute("INSERT INTO test_table (value) VALUES (%s)", ('exception_value',)))
  15. # 试图回滚事务,但可能会失败
  16. try:
  17. db.rollback()
  18. print("Rollback failed, transaction still in progress.")
  19. except mysql.connector.Error as e:
  20. print(f"Error occurred: {e}")
  21. # 如果一切正常,提交事务
  22. if db.is_connected():
  23. db.commit_transaction()
  24. print("Transaction committed successfully.")
  25. except mysql.connector.Error as err:
  26. print(f"Error while connecting to MySQL: {err}")

在这个示例中,我们尝试插入一条带异常值的记录。这会导致回滚操作失败,并打印相应的错误信息。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,66人围观)

还没有评论,来说两句吧...

相关阅读