0.README
本文介绍了事务的基本概念,常用的四个命令,事务的四个特性,最后介绍多事务处理中的可能出现的三种问题,以及对应的四个隔离等级。
1.什么是事务
事务处理用来维护数据库的完整性,保证成批的MySQL操作要么完全执行,要么完全不执行。
比如,假设有两个表,账户表money,和支出表pay,那么每一笔支出记录对应就要从余额表中删除一定金额,如果pay插入成功,money修改失败,那么就会造成数据不一致。
MySQL事务操作:
命令 | 含义 |
---|---|
START TRANSACTION; |
开启事务。后面的语句处于同一个事务之中 |
ROLLBACK [TO save_point_name]; |
回滚到指定的保留点,或者开启事务之前,结束事务 |
COMMIT |
提交事务,然后结束事务 |
SAVEPOINT |
保留点 |
示例:
mysql> SELECT * FROM ordertotals;
+-----------+-----------------+-------------+
| order_num | total_not_taxed | total_taxed |
+-----------+-----------------+-------------+
| 20005 | 149.87 |