mysql数据库的隔离级别
1.事务的特性 ACID 1.1原子性 事务中的操作,要么全部成功,要么全部失败;对于一个事务来说,不可能只执行其中的一部分操作 1.2一致性 数据库总是从一个一致性的状态转换到另一个一致性的状态 1.3隔离性 并发过程中,事务在最终提交之前是相互隔离的,不能相互干扰 1.4持续性 一旦事务提交,则其所做的修改不会永久保存到数据库 2事务并发产生的问题 2.1脏读 事务A第一次读取到price=100 同时事务B更新update price=120,但是此时的事务B还未commit 事务A读取的price=120 事务B->rollback操作 事务A读取到的是脏数据 2.2不可重复读 事务A第一次读取到price=100 同时事务B更新update price=120,并commit 事务A读取的price=120 事务A多次读取的结果不一致 2.3幻读 幻读和不可重复读的区别在于,幻读主要表现在数据的 删除 和 插入 ,而不可重复读表现在数据的 更新 事务A第一次读取到price=100 同时事务B更新delete price=100 这条记录,并commit 事务A读取的price=100 price这条记录已经不存在,但是事务A还是可以读取到 3数据库提供的解决方法 mysql提供了4种隔离级别 3.1read uncommitted 未提交读 2.1中 脏读 的场景