Python 和 MySQL - 执行事务


事务是一种确保数据一致性的机制。事务具有以下四个属性 −

  • 原子性 − 事务要么完成,要么什么都不发生。

  • 一致性 − 事务必须以一致状态开始,并使系统保持一致状态。

  • 隔离性 − 事务的中间结果在当前事务之外不可见。

  • 持久性 −一旦事务被提交,其效果就会持续存在,即使系统发生故障也是如此。

Python DB API 2.0 提供了两种方法来提交或回滚事务。

示例

您已经知道如何实现事务。这里再次是类似的例子 −

# 准备 SQL 查询以删除所需记录
sql = "Delete from tutorials_tbl where tutorial_id = 2"
try:
    # 执行 SQL 命令
    cursor.execute(sql)
    # 在数据库中提交更改
    db.commit()
except:
    # 如果有错误则回滚
    db.rollback()

COMMIT 操作

提交操作向数据库发出绿色信号以完成更改,在此操作之后,任何更改都无法恢复。

这是一个调用 commit 方法的简单示例。

db.commit()

ROLLBACK 操作

如果您对一个或多个更改不满意,并且想要要完全恢复这些更改,请使用 rollback() 方法。

下面是调用 rollback() 方法的简单示例。

db.rollback()

断开数据库

要断开数据库连接,请使用 close() 方法。

db.close()

如果用户使用 close() 方法关闭与数据库的连接,则 DB 将回滚所有未完成的事务。但是,您的应用程序最好不要依赖任何 DB 较低级别的实现细节,而是显式调用提交或回滚。



关于我们 | 隐私条款 | 学习路线
返回顶部