第20课 管理事务处理

发布时间 2023-10-31 18:28:27作者: 小栗帽

20.1 事务处理

使用事务处理,确保成批的SQL操作要么完全执行,要么完全不执行,来维护数据库的完整性。
事务处理是一种机制,用来管理必须成批执行的SQL操作,保证数据库不包含不完整的操作结果。
利用事务处理,可以保证一组操作不会中途停止,它们要么完全执行,要么完全不执行(除非明确指示):

  • 没有错误发生,整组语句提交给(写到)数据库表;
  • 发生错误,则进行回退(撤销),将数据库恢复到某个已知且安全的状态。

以下是事务处理需要知道的术语:

  • 事务(transaction):指一组SQL语句;
  • 回退(rollback):指撤销指定SQL语句的过程;
  • 提交(commit):指将未存储的SQL语句结果写入数据库表;
  • 保留点(savepoint):指事务处理中设置的临时占位符,可以对它发布回退(与回退整个事务处理不同)。

20.2 控制事务处理

管理事物的关键在于将SQL语句组分解为逻辑块,并明确规定数据何时应该回退,何时不应该回退。

START TRANSACTION
...
ROLLBACK;

通常,COMMIT用于保存更改,ROLLBACK用于撤销。

20.2.1 使用ROLLBACK
DELETE FROM Orders;
ROLLBACK;
/* 
  先执行DELETE操作,然后用ROLLBACK撤销。
*/