MySQL数据库事务,隔离级别学习记录。

MySQL InnoDB 存储引擎的默认支持的隔离级别是 REPEATABLE-READ(可重读)
命令SELECT @@transaction_isolation;查看数据库隔离级别。

image.png

InnoDB可以通过应用加锁读(例如 select * from table for update 语句)来保证不会产生幻读,而这个加锁度使用到的机制就是 Next-Key Lock 锁算法。从而达到了 SQL 标准的 SERIALIZABLE(可串行化) 隔离级别。

如何显示的开启事务:
START TARNSACTION |BEGIN 显示开启一个事务
COMMIT 提交事务
ROLLBACK 回滚,撤销为提交的操作

READ-UNCOMMITTED(读取未提交):
设置数据库事务的隔离级别为read uncommited

image.png

image.png

READ-COMMITTED(读取已提交):
设置数据库隔离级别:

image.png

image.png

这样就会发生不可重复的问题,即在同一个事务里读取到的数据不一样

REPEATABLE-READ(可重复读):
设置数据库隔离级别

image.png

image.png

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容