Python MySQL - 执行事务
-
简述
事务是一种确保数据一致性的机制。交易具有以下四个属性 --
原子性− 要么交易完成,要么什么都没有发生。
-
一致性− 事务必须以一致状态开始,并使系统保持一致状态。
-
隔离性− 事务的中间结果在当前事务之外不可见。
-
持久性− 一旦事务被提交,其影响是持久的,即使在系统故障之后。
Python DB API 2.0 提供了两种提交或回滚事务的方法。例子
您已经知道如何实现事务。这又是一个类似的例子 -# Prepare SQL query to DELETE required records sql = "Delete from tutorials_tbl where tutorial_id = 2" try: # Execute the SQL command cursor.execute(sql) # Commit your changes in the database db.commit() except: # Rollback in case there is any error db.rollback()
-
-
提交操作
提交是操作,它向数据库发出绿色信号以完成更改,并且在此操作之后,无法恢复任何更改。这是一个简单的调用示例commit方法。db.commit()
-
回滚操作
如果您对一项或多项更改不满意,并且希望完全还原这些更改,请使用rollback()方法。这是一个简单的调用示例rollback()方法。db.rollback()
-
断开数据库
要断开数据库连接,请使用 close() 方法。db.close()
如果用户使用 close() 方法关闭了与数据库的连接,则数据库将回滚任何未完成的事务。但是,您的应用程序最好不要显式调用提交或回滚,而不是依赖于任何 DB 较低级别的实现细节。