mysql4-事务

56 阅读2分钟

事务

事务的概念

  • 是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行
  • 是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时,事务是最小的控制单元
  • 适用于多用户同时操作的数据库系统的场景,如银行保险公司及证券交易系统等等
  • 通过事务的整体性以保证数据的一致性

事务的ACID特点

  • 原子性
    • 事务是一个完整的操作事务的各元素是不可分的
    • 事务中的所有元素必须作为一个整体提交或回滚如果
    • 事务中的任何元素失败,则整个事务将失败
  • 一致性
    • 当事务完成时,数据必须处于一致状态
    • 在事务开始前,数据库中存储的数据处于一致状态
    • 在正在进行的事务中,数据可能处于不一致的状态
    • 当事务成功完成时,数据必须再次回到已知的一致状态
  • 隔离性
    • 对数据进行修改的所有并发事务是彼此隔离的,表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务
    • 修改数据的事务可在另一个使用相同数据的事务开始之前访问这些数据,或者在另一个使用相同数据的事务结束之后访问这些数据
  • 持久性
    • 指不管系统是否发生故障,事务处理的结果都是永久的
    • 一旦事务被提交,事务的效果会被永久地保留在数据库中