数据库事务的四大特性

当数据库支事务操作时,它就要满足事务的四大特性ACID

一、原子性 Atomicity(A)

    原子性是指一个事务的所有操作要么全部操作成功,要么全部操作失败,如果有没有成功的操作者,就会回滚到最初的状态。

二、一致性 Consistency(C)

    一致性是指数据库在操作前后都必须保证是一个完整的状态。

    数据库的完整状态:当一个数据库中的所有的数据都符合数据库中所定义的所有约束,此时可以称数据库是一个完整的状态。

三、隔离性

    多个用户并发访问数据库时,每个用户的事务操作不能被其他事务的操作所干扰的,就是说不能被未提交的事务干扰

四、持久性

   是指一个事务一旦被提交,那么它对数据库的影响是永久性的

若数据库没有隔离性会发生一下几种情况:

1.脏读

   一个事务读取到另一个未提交的事务的数据

2.不可重读

   在当前事务中,先后读取同一条记录,读取到另一事务提交的更新和删除的数据,导致两次读取的结果不一样。

3.幻读

   在当前事务中,按相同的查询条件先后查询数据,读取到其他事务刚插入的数据。

原文地址:https://www.cnblogs.com/mercuryji/p/mysql_transation.html