1.什么是事务?
事务:逻辑上的一组操作,组成这组操作的各个单元,要么全成功,要么全失败。
2.事务的特性:(面试题)
原子性:事务不可分割
隔离性:一个事务的执行不应该收到其它事务的干扰
持久性:一旦事物结束,数据就持久到数据库
一致性:事务执行前后数据完整性保持一致
3.如果不考虑隔离性引发安全性问题
读问题:
脏读 :一个事务读到另一个事务未提交的数据
不可重复读:一个事务读到另一个事务已经提交的update的数据,导致一个事务中多次查询结果不一致。
虚读、幻读:一个事务读到另一个事务已经提交的insert的数据,导致一个事务中多次查询结果不一致。
写问题:
丢失更新
解决读问题
设置事务的隔离级别:
Read uncommitted:未提交读,任何读问题解决不了。
Read committed:已提交读,解决脏读,但是不可重复读和虚读有可能发生。
Repeatablel read:重复读,解决脏读和不可重复读,但是虚读有可能发生。
Serializable:解决所有读问题。
----------------------------------------------------------------------------------------------------------------------------------未完待续