Mysql事物
事物这个东西大家应该写过项目的就用过,但是还是要说的
为什么需要事物
现在很多软件都是多用户,多程序,多线程的,对同一张表可能同时有很多人在用,为保持数据的一致性,所以提出了事物的概念...;
持久性并不是数据库的角度完全能解决的
事物的隔离级别
未提交读(read uncommitted)脏读
已提交读(read committed)不可重复读
可重复读(repeatable read)...可串行化(serializable)
查询Mysql事物的默认隔离级别
select @@tx_isolation;
?
...Mysql事物的默认隔离级别是repeatable read
事物并发问题
脏读:事物A读取了事物B更新的数据,然后B回滚操作,那么A就读取到了脏数据
不可重复读:事物A多次读取同一数据,事物B在事物A...,当系统管理员A改完之后发现还有没改的,就像幻觉一样,这就是幻读
不可重复读和幻读容易混淆,不可重复读侧重于修改,幻读侧重于新增或删除,解决不可重复读的问题只需锁住满足条件的行,解决幻读需要锁表
//设置当前会话的事物隔离级别