1.原子性:原子表示不可分割,一个事务一般包含一组(即多个操作),我们将一个事务看做一个整体,一个事务执行之后的结果有两种,要么所有的操作都成功,要么所有得操作都失败。只要事务中有一个操作失败,那么视为整个事务执行失败。事务会回滚到执行之前的状态。
2.一致性:事务在执行的前后数据的整体是保持一致的,类似于物理上的能量守恒。例如:某银行A用户有1000元,B用户有500元A用户向B用户转账1000元,在把转账整个过程视为一个事务,分为两个步骤,A用户转出1000元,B用户收账1000元,在事务执行的前后总金额都是1500元。
3.隔离性:一个事务在执行的时候不能被其他事务所干扰(我在做完一件事之前你做的事不能对我做的事产生影响),即当一个事务在操作某一个数据的时候其他的事务不能对该事物进行操作,例如:在事务操作数据库的某个字段的时候,数据库会将该字段锁起来,等该事务全部完成之后,才能有其他的事务对该字段进行操作。
4.持久性:一个事务执行完毕之后,它对数据的影响就已经确定了,比如一个事务将数据库中的某个表中的某个字段的值进行了修改,那么它对这个字段的修改就是永久性的,如果没有其他的事务或者操作对该字段进行修改,那么这个值永远不变。