MySQL6-事务
一、定义
提交事务,才能执行语句 commit;
回滚事务,则不执行语句 rollback;
开启事务:start transaction
回滚:重新开始的意思
undo log 恢复之前状态
二、使用
–默认情况下mysql是开启了事务的
– 隐式事务(默认)
show variables like ‘%autocommit%’(自动提交)
– 显示事务(需要手动提交)
set autocommit = 0
show variables like ‘%autocommit’
start transaction;
insert into balance values(4,‘李四’,490);
commit;
有一条语句失败,事务都会失败,事务会自动回滚 userme是错误的
开启事务也可以用begin
三、事物的隔离级别
加入锁(serializable),不可并发,其他线程会进行等待
0001=1;0010=2;0100=4;1000=8
1.只关心当前窗口的隔离级别就好
2.脏读:可以读到其他窗口回滚后的数据
不可重复读:读的过程中有别的操作,两次读的数据就会不一样
可重复读:只读到其他窗口操作前的数据(默认隔离级别)避免不可重复读和脏读
幻读:读到其他窗口增加的数据
- 练习:
自行联系