事务
2020-08-15 本文已影响0人
魔芋辣椒
一、 ACID
- 原子性(事务为一个整体,不可分割)
-
一致性(开始到结束状态一致)
两人转账,转账前后,总金额一致 - 隔离型(事务之间隔离)
- 持久性 (事务永久)
二、 事务创建
set autocommit=0;
start transaction;
xxx //select update delete
commit;
rollback;
三、 事务的重复问题
-
脏读
T1 读取了T2更新又回滚的内容 -
不可重复读
T1 读取a字段,T2更新了a,T1不提交,又读了a -
幻读
T1 读取了a字段,T2在该表插入新数据,T1再读取表时就多出几行
四、 四种隔离级别
-
READ UNCOMMITTED
无任何措施 -
READ COMMITTED
避免脏读 -
REPEATABLE READ
避免咋脏读,重复读 -
SERIALIZABLE
避免脏、重复、幻读
避免幻读这里相当于加锁,禁止其他事务增删更新
select @@transaction_ioslation;
//查看
set transaction isolation level 隔离级别;
//设置