事务就是一组原子性的SQL查询,或者说一个独立的工作单元。假设数据库引擎可以成功地对数据库应用该组查询的所有语句,那么就运行该组查询。假设当中有不论什么一条语句由于崩溃或者其它原因无法运行,那么所有语句都不会运行。也就是说,事务中的语句,要么所有运行成功,要么所有运行失败。
如果小明给老王转100元钱,就须要运行下面两个过程:
1.小明账号金额降低100元
2.老王账户金额添加100元
事务主要有下面四个特点
1.原子性
一个事务必须是一个不可切割的最小工作单元,上述转账要运行的话必须所有运行所有两个过程
2.一致性
小明和老王两个账户总额在没有别的事务情况下是不会变多也不会变少
3.隔离性
如果上述事务仅仅进行了过程1,由于还没有提交,所以别的事务不会知道小明少了100元
4.持久性
一旦事务提交,其所作的改动就一直会保存在数据库中不会丢失