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 较低级别的实现细节,而是显式调用提交或回滚。