Mysql事物
事物这个东西大家应该写过项目的就用过,但是还是要说的
为什么需要事物
现在很多软件都是多用户,多程序,多线程的,对同一张表可能同时有很多人在用,为保持数据的一致性,所以提出了事物的概念...,并发执行的各个事物之间不能互相干扰;
持久性(durability):持久性也称永久性(permanence),即一个事物一旦提交,他对数据库中数据的改变就应该是永久性的,接下来的其他操作或故障不应该对其有任何影响...;
持久性并不是数据库的角度完全能解决的
事物的隔离级别
未提交读(read uncommitted)脏读
已提交读(read committed)不可重复读
可重复读(repeatable read)...可串行化(serializable)
查询Mysql事物的默认隔离级别
select @@tx_isolation;
?
...Mysql事物的默认隔离级别是repeatable read
事物并发问题
脏读:事物A读取了事物B更新的数据,然后B回滚操作,那么A就读取到了脏数据
不可重复读:事物A多次读取同一数据,事物B在事物A