事务ACID原则以及事务的隔离级别
什么是事务
要么都成功,要么都失败!
————————————————————————————
1,SQL执行: A给B转账
2,SQL执行: B收到A的钱
————————————————————————————
将一组SQL放在一个批次中去执行~
事务原则:ACID原则
原子性(Atomicity):
要么都成功,要么都失败
一致性(Consistency):
事务前后的数据完整性要保持一致
持久性(Durability):(事务提交)
事务一旦提交则不可逆,被持久化到数据库中
隔离性(Isolation):
隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。
隔离所导致的一些问题
脏读:
指一个事务读取了另一个事务未提交的数据
不可重复读:
在一个事务内读取表中的某一行数据,多次读取的结果不同。(这个不一定是错误的,只是某些场合不对)
虚读(幻读):