一、数据库事务ACID特性
必须要掌握事务的4个特性,其中事务的隔离性之于MySQL,对应4级隔离级别。
原子性(Atomicity):
事务中的所有原子操作,要么都能成功完成,要么都不完成,不能停滞在中间环节。发生错误要回滚至事务开始前状态,仿佛事务没有发生过。
一致性(Consistency):
事务必须始终保持数据库系统处于一致的状态,无论并发多少事务。
隔离性(Isolation):
事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要存在相互隔离。[MySQL隔离级别]
持久性(Durability):
持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。
二、MySQL隔离级别
1 select @@tx_isolation ; --查询MySQL隔离级别 2 set <level> tx_isolaction = 'READ-COMMITTED'; --设置事务隔离级别level分为session默认,global全局 3 start transaction ; -- 启动事务 4 set savepoint <point_name> ; --设置回滚点,mysql支持回滚点 5 rollback ; --回滚全部 6 rollback to <savepoint_name> ; --回滚至某回滚点 7 commit ; --提交事务