MySQL事务基础
事务的提出
MySQL事务(transaction)主要用于处理敏感的、复杂度高的数据。处理逻辑为query语句要么一块执行,要么全部回滚。例如网上购物时,只有确认付款之后商品才会到个人账户,在此之前全部过程顾客不持有商品。
注意:MySQL事务只有在指定数据库引擎为innodb时可用。
事务的基本用法
假设用户A向用户B转账50块钱,则需要将A用户的账户余额减少50块钱,将B用户的账户添加50块钱,操作如下:
1 | start transaction; # 开始事务 |
回滚点rollback to
1 | start transaction; # 开始事务 |
事务的特性
事务的四大特性,简称ACID
- A:atomicity,原子性,事务的所有操作为一个整体,不可再分,要么全部执行,要么全部不执行。
- C:consistency,一致性,事务开始前或结束后,数据库所有的数据都应该是正确完整。
- I:isolation,隔离性,每个事务都是独立的。
- D:durability,持久性,事务一旦提交,不能再更改。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 凌亦零网志!