什么是事务
逻辑上的一组操作,要么都执行,要么都不执行。
事务四大特性:ACID
原子性(Atomicity):事务中的所有操作要么全部成功提交,要么全部失败回滚
一致性(Consistency):事务对数据的操作只能从一个一致性状态转变为另一个一致性状态,必须保证数据的完整性约束
隔离性(Isolation):多个事务并发操作时,相互之间不能产生影响
永久性(Durabilily):事务对数据的操作会永久保留在数据库中
并发事务带来的几种问题
1、脏读:一个事务读取到了另一个事务还未提交的数据
2、不可重复读:一个事务在不同时刻读取到的同一组数据不一致,可能在这期间有其它事务对这组数据进行了操作,针对的是Update的操作
3、幻读:一个事务删除某张表里的某行数据,但是还未提交,在这期间另一个事务在这张表的这行又插入了新的数据,让我们感觉刚才的删除操作没有生效,就好像出现了幻觉一样
事务四种隔离级别:
1、读未提交
2、读已提交
3、可重复读
4、串行化
事务的隔离级别就是为了解决可能出现的几种问题,下面就是隔离级别对三种问题的解决程度
读未提交:可能出现脏读、不可重复读、幻读的问题
读已提交:不会出现脏读的问题,但可能出现不可重复读、幻读的问题
可重复读:不会出现脏读、不可重复读的问题,但可能出现幻读的问题
串行化:不会出现脏读、不可重复读、幻读的问题
MySQL使用的隔离界别是可重复度
以上就是我个人在学习Mysql事务时总结的知识点,希望对你有所帮助