MySQL事务介绍
数据库事务含义通过一组逻辑操作单元一组DML——sql语句将数据从一种状态切换到另外一种状态特点ACID原子性要么都执行要么都回滚一致性保证数据的状态操作前和操作后保持一致隔离性多个事务同时操作相同数据库的同一个数据时一个事务的执行不受另外一个事务的干扰持久性一个事务一旦提交则数据将持久化到本地除非其他事务对其进行修改相关步骤1、开启事务2、编写事务的一组逻辑操作单元多条sql语句3、提交事务或回滚事务事务的分类隐式事务没有明显的开启和结束事务的标志比如insert、update、delete语句本身就是一个事务显式事务具有明显的开启和结束事务的标志1、开启事务取消自动提交事务的功能2、编写事务的一组逻辑操作单元多条sql语句insertupdatedelete3、提交事务或回滚事务使用到的关键字set autocommit0;start transaction;commit;rollback;savepoint 断点commit to 断点rollback to 断点事务的隔离级别:事务并发问题如何发生当多个事务同时操作同一个数据库的相同数据时事务的并发问题有哪些脏读一个事务读取到了另外一个事务未提交的数据不可重复读同一个事务中多次读取到的数据不一致幻读一个事务读取数据时另外一个事务进行更新导致第一个事务读取到了没有更新的数据如何避免事务的并发问题通过设置事务的隔离级别1、READ UNCOMMITTED2、READ COMMITTED 可以避免脏读3、REPEATABLE READ 可以避免脏读、不可重复读和一部分幻读4、SERIALIZABLE可以避免脏读、不可重复读和幻读设置隔离级别set session|global transaction isolation level 隔离级别名;查看隔离级别select tx_isolation;