事物的隔离级别
1、未提交读
2、读已提交(不可重复读)
3、可重复读
4、 串行化
如何查看当前是什么隔离级别呢?
用命令 select @@tx_isolation; 可以知道当前的隔离级别
从图中可以看出,当前的隔离级别为可重复读
如何关闭自动提交呢?
show variables like ‘%autocommit%’;
当前是自动提交的
如何关闭自动提交呢?
需要执行set autocommit=0; 此时再来查看,事物自动提交已经关闭了
此时来创建一个数据库
create database acid;
create table T(c int) engine=InnoDB;
读未提交:
此时来把事物隔离级别改为,读未提交 ,设置方式为:
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
此时来插入一条数据
insert into T© values(1);
读已提交:
SET SESSION TRANSACTION ISOLATION LEVEL Read committed;
可重复读
SET SESSION TRANSACTION ISOLATION LEVEL Repeatable read
串行化
SET SESSION TRANSACTION ISOLATION LEVEL Serializable
show variables like ‘transaction_isolation’;