隔离级别
并发事务出现的三种问题
- 脏读(Dirty Read):事务A读取了事务B还未提交的数据,如果B回滚了,A读取的数据就是无效的。
- 不可重复读(Non-Repeatable Read):事务A在同一个事务中两次读取同一行数据,结果不一致,这是因为事务B在中间修改并提交了这行数据。
- 幻读(Phantom Read):事务A在同一个事务中两次执行相同条件的查询,发现结果集不一致。原因是事务B在中间插入或删除了符合条件的新数据。
事务的隔离级别

-- 设置当前会话的隔离级别
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
-- 或设置全局默认隔离级别(需重启或重新连接生效)
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
具体操作可看B站视频
- 【黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括】https://www.bilibili.com/video/BV1Kr4y1i7ru?p=55&vd_source=717e5631051a8339c2eea7fb70959d5b