set session transaction isolation level read uncommitted;
-- read uncommited 可以替换为read committed /repeatable read/serializable
start transaction; -- 开启事务
-- 用户登录
mysql -u username -p password
read uncommitted
可以查询到未提交的数据
读脏 这个事务真轻浮,饥渴到还没提交就读,真脏,呸!
真实数据没有改变,提交后才会更新到数据库
read committed
大多数数据库默认隔离级别
只能读到其他事务提交的数据,未提交的数据读不到
不可重复读 提交前后读到的数据不一样就叫不可重复读
repeatable read
mysql默认隔离级别 可重读
可重复读,当前会话每次读取数据都一样不管其他事务是否提交
幻读 数据已经改变,为了可重复读,打肿脸充胖子,数据还显示之前的
serializable
串行化 隔离最严格
其他会话写操作会挂起
等事务提交后这个操作才可以继续