事务
事务用于保证数据的一致性,它有一组相关的dml语句组成的,该dml语句要么全部成功,要么全部失败
操作
开启事务
start transaction
设置保存点,可以有多个保存点
savepoint a
执行dml
insert into t10 values(100,'张三');
select * from t10;
回滚到a保存点
rollback to a
回滚到事务的开始
rollback
回滚到比较前的保存点时,后面的保存会自动消失
事务如果提交了,则不能进行回滚。
隔离级别
多个连接开启各自事务操作数据库中数据时,数据库系统要负责隔离操作,以保证各个连接在获取数据时的准确性。不然会出现:
脏读
不可重复读
幻读
四种事务隔离级别
- 读未提交Read uncommitted
- 读已提交Read committed
- 可重复读Repeatable read
- 可串行化Serializable
操作
查看当前隔离级别
select @@tx_isolation;
查看系统当前的隔离级别
select @@global.tx_isolation;
设置当前会话的隔离级别
set session transaction isolation level repeatable read;
设置系统当前的隔离级别
set global transaction isolation level repeatable read;