MySQL事务的隔离级别

MySQL事务的隔离级别

1、未授权读(未提交读) READ Uncommitted | 0  使用共享锁,在事务进行中,允许其他事务读取正在修改数据但未提交的数据

示例:

【第一步】

事务1:begin; #开启事务

事务2:begin; #开启事务

【第二步】

#假设name为zhou

事务1:select name from user where id=1; #查询结果为zhou

事务2:select name from user where id=1; #查询结果为zhou

【第三步】

事务1:update `user` set name=`123` where id=1; 

事务2:select name from user where id=1; #查询结果为123

【第四步】

事务1:rollback; #事务回滚

事务2:select name from user where id=1; #查询结果为zhou

总结:未授权读会读取到未提交的事务的修改结果,这种现象叫脏读。

2、授权读取 READ committed | 1 

 

3、可重复读取 Repeatable Read | 2

 

4、序列化 Serializable | 3  串行化 事务排队执行

 

总结

MySQL事务的隔离级别_第1张图片

你可能感兴趣的:(MySQL)