事务四个特性:
A:原子性,所有的操作,要么都成功,要么都失败,不可能只成功一部分。
C:一致性,操作前后数据保持一致,从一个状态转移到另一个状态,不会存在中间状态。
I:隔离性,一个事务的操作不会影响到另一个事务。
D:持久性,事务一旦提交,对数据库的修改就是持久的,不会因为系统故障影响结果。
MySQL隔离级别:
READ UNCOMMITTED(未提交读)
一个事务读取到另一个事务未提交的内容,会导致脏读(读取到了未提交事务修改内容,之后另一个事务回滚)、不可重复读、幻读。READ COMMITTED(已提交读)
一个事务只能读取到另一个事务已提交的部分内容,会导致不可重复读、幻读。REPEATABLE READ(可重复读)
对同一个字段多次读取,得到结果是一致的。会导致幻读。SERIALIZABLE(可序列化)
同一时间内只能有一个事务在执行
MySQL默认使用可重复读隔离级别。