当数据库支事务操作时,它就要满足事务的四大特性ACID
一、原子性 Atomicity(A)
原子性是指一个事务的所有操作要么全部操作成功,要么全部操作失败,如果有没有成功的操作者,就会回滚到最初的状态。
二、一致性 Consistency(C)
一致性是指数据库在操作前后都必须保证是一个完整的状态。
数据库的完整状态:当一个数据库中的所有的数据都符合数据库中所定义的所有约束,此时可以称数据库是一个完整的状态。
三、隔离性
多个用户并发访问数据库时,每个用户的事务操作不能被其他事务的操作所干扰的,就是说不能被未提交的事务干扰
四、持久性
是指一个事务一旦被提交,那么它对数据库的影响是永久性的
若数据库没有隔离性会发生一下几种情况:
1.脏读
一个事务读取到另一个未提交的事务的数据
2.不可重读
在当前事务中,先后读取同一条记录,读取到另一事务提交的更新和删除的数据,导致两次读取的结果不一样。
3.幻读
在当前事务中,按相同的查询条件先后查询数据,读取到其他事务刚插入的数据。