MySQL事务
事务
1.什么是事务
作为单个逻辑工作单元执行的一系列操作。这些操作要么都执行,要么都不执行
经典案例就是转账事务,A给B转200元,A转出去了200,B 没收到这200
2.事务有哪几个特性?
AICD
原子性:事务要么全部执行,要么全部不执行,一个事务必须被视为不可分割的最小工作单元。
一致性:事务必须保持系统处于一致的状态,不管在任何给定的时间并发事物有多少。比如说转账,A转账200。 一致性就是A-200,B+200,总数不变。
隔离性:在事务正确提交之前,不允许把该事物对数据的任何改变提供给任何其他事务
持久性:一旦提交,所做的修改永远被保存在数据库,并不会回滚
3.什么是脏读,幻读,不可重复读(这三种情况属于事务并发情况)
脏读:是指一个事务读取到了其他事务没有提交的数据,如果其它事务失败回滚了,那就是读的脏数据了
不可重复读:是指在同一事务内,同一条SQL语句的多次查询的同一条记录的值不一致
幻读:是指在一个事务内,同一条SQL语句的多次查询的记录条数不一致
4.MySQL有哪些事务隔离级别
| 隔离级别 | 脏读 | 不可重复读 | 幻读 |
|---|---|---|---|
| 未提交读 | 可能 | 可能 | 可能 |
| 已提交读 | 不可能 | 可能 | 可能 |
| 可重复读 | 不可能 | 不可能 | 可能 |
| 串行化 | 不可能 | 不可能 | 不可能 |
5.MySQL默认的事务隔离级别是

浙公网安备 33010602011771号