9月18号面试过程中,被问到:请问你对mysql事务的了解?回答了一通,感觉也不完整。面试完之后,回宿舍查看了知识点。
事务是什么?
事务是一件事一个动作的完整执行。如银行转账例子:A转账给B,A余额减少,B余额增加,这是一个动作的完整,那么万一中间发生了异常或错误,导致转账成功A余额不减少而B余额增加或者B余额不增加A余额减少等情况呢?
而事务就是来处理这一类操作的。要么都正常成功,要么就都失败。
事务会造成什么后果?
-
脏读: 两人同时访问一个数据,其中一人访问并修改了但未提交,另一人读取了未提交的数据。
-
不可重复读:多次读取同一数据过程中,数据被修改,结果不一致
-
幻读:A统一修改了数据库数据,此时B提交了新的数据,会发现还有新数据没有改过来。
MySQL事务隔离级别:
这是我面试题中遇到的题,让写下MySQL事务的隔离级别!!!
级别 | 脏读 | 不可重复读 | 幻读 |
read-uncommitted | √ | √ | √ |
read-committed | × | √ | √ |
repeatable-read(默认) | × | × | √ |
serializable | × | × | × |
更多精彩,扫描上方二维码,关注公众号。将持续为您更新诸多面试常问!