study/mysql/事务.md

1.5 KiB
Raw Permalink Blame History

事务

事务,一般是指要做的或者所做的事。在计算机术语中是指访问并可能跟新数据库中各种数据项一个程序单元(unit)。在计算机术语中,事务通常就是 数据库事务。
当一个事务被提交给了DBMS(数据库管理系统)则DBMS需要确保该事务中的所有操作都成功完成且其结果被永远保存在数据库中如果事务有的操作没有完成则事务 中有的操作没有成功完成,则事务中所有的操作都需要被回滚,回到事务执行前的状态(要么全执行,要么全都不执行);同时,该事务对数据库或者其他事务的执行无 影响,所有的事务都好像在独立的运行。

事务的特性

并非任意的对数据库的操作序列都是数据库事务。事务应该具有四个属性原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。 

  1. 原子性:事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。
  2. 一致性:事务应确保数据库的状态从一个一致转变为另一个状态。一致状态的含义是数据库中的数据应满足完整性约束
  3. 隔离性:多个事务并发执行时,一个事务的执行不应影响其他事务的执行。
  4. 持久性:一个事务一旦提交,他对数据库的修改应该永久保存在数据库中。