1.事务
我们常说的事务就是让一个事务内包含的所有sql要么是全部执行,要么全部失败。
2.特性
原子性和隔离性
原子性:事务中的操作要么都做,要么都不做。
隔离性:一个事务的执行不能被其他的事务所干扰(涉及事务的并发执行)
3.并发
我们平时说的丢失修改、脏读、不可重复读、幻读等都是因为事务之间的并发执行所带来的结果,也就是没有保持事务的隔离性
并发导致的四种情况:
①丢失修改:事务T1 读取A=10,事务T2同时也读取A=10,这时事务T1修改了A=A-1 写回了A=9,而事务T2也修改了A=A-4 写回了A=6,覆盖了T1对A值得修改,导致了事务T1修改的丢失。
②脏读:事务T1读取B=100,对B进行了修改B=B*2=200,写回了B=200。事务T2读取了B=200,这时,事务T1由于某种原因撤销了操作,B恢复了100。导致了事务T2读入了T1的脏数据。
③不可重复读:事务T1读取A=50,B=100,A+B=150,。事务T2读取B=B*2=200,写回了B=200。这时T1在读取A=50,B=200,求和是250,。导致和之前的统计值不一致,造成了不可重