SQL必知必会
(六)事务处理
第二十课 管理事务处理
20.1 事务处理
事务处理,就是保证成批的SQL操作完全执行/完全不执行。
事务处理相关的名词:
- 事务(transaction):一组SQL语句。
- 回退(rollback):撤销SQL语句。
- 提交(commit):未存储的SQL语句结果写入数据库表。
- 保留点(savepoint):可对保留点发起回退。
注意⚠️:
1、回退只能回退INSERT、UPDATE、DELETE。
2、SELECT没必要回退,因为对表无影响。
3、CREATE、DROP不能回退。
20.2 控制事务处理
管理事务的关键:
- SQL语句分解逻辑块
- 设定savepoint
以下定义一个事务:
START TRANSACTION; # 开始事务
# ----------------------
SAVEPOINT savepoint1;
SQL1;
SQL2;
SAVEPOINT savepoint2;
...
SQLn;
ROLLBACK TO savepoint2
# ----------------------
COMMIT; # 提交并自动关闭事务