Python Mysql 简明教程

Python & MySQL - Performing Transactions

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

  1. Atomicity − 事务要么完成,要么根本不会发生。

  2. Consistency − 事务必须从一致的状态开始,并以一致的状态离开系统。

  3. Isolation − 事务的中间结果在当前事务外不可见。

  4. Durability − 一旦提交事务,其效果将持久,即使在系统故障后也是如此。

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

Example

您已了解如何实现事务。这儿 снова是类似示例 −

# 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 Operation

提交是一项操作,它向数据库发出一个绿色信号,以最终确定所做的更改,并且在此操作之后,任何更改都将无法还原。

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

db.commit()

ROLLBACK Operation

如果您不满意一项或多项更改,并且希望完全还原这些更改,那么请使用 rollback() 方法。

这是一个调用 rollback() 方法的简单示例。

db.rollback()

Disconnecting Database

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

db.close()

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