事务特性:
1. 原子性,一个事务中所有对数据库的操作要么都成功要么都失败
2. 一致性,没有意义
3. 隔离性,多个事务并发操作对数据的相互影响
4. 持久性,提交后的事务时永久的,没有讨论意义。
事务嵌套:外面和里面事务互不影响,除非里面的事务抛出了异常,外面的事务没有处理。
事务的隔离性级别:
脏读:读到未提交的值,事务A在读取值的时读到事务B修改了的值,但事务B还未提交。
提交读:读到已提交的值,事务A在读取值时读到事务B修改并且已提交的值。
重复读:在事务中多次读到的相同行数据相同,事务A在事务B修改提交前后读到的相同行数据相同。
幻读:在事务中多次读到行数不相等,事务A在事务B提交前读到3行,提交后读到4行。
快照读:在事务中多次读到的行数,行数据都相同,事务A在事务B提交前读到3行2列值,提交后还是相同的3行2列值。
系列化:多个事务根据事务开始时间依次执行,事务A在开始前已有事务B,那么先执行我事务B,在执行事务A,事务A
中的所有数据都是读到事务B提交后的数据。
事务发生异常:
提交中止的事务
提交超时的事务
在已回滚的事务做操作