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 串行化 事务排队执行
总结