4-6事务管理

来源:互联网 发布:dns污染 知乎 编辑:程序博客网 时间:2024/04/30 21:36

4-6事务管理

tags:数据库

定义

所谓事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位.

“一荣俱荣,一损俱损”这句话很能体现事务的思想,很多复杂的事物要分步进行,但它们组成一个整体,要么整体生效,要么整体失效。这种思想反映到数据库上,就是多个SQL语句,要么所有执行成功,要么所有执行失败。数据库事务有严格的定义,它必须同时满足四个特性:原子性(Atomic)、一致性(Consistency)、隔离性(Isolation)和持久性(Durabiliy),简称为ACID。

事务的四个特性

  1. 原子性,事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做.
  2. 一致性,事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态.因此当数据库中只包含成功事务提交的结果时,就说数据库处于一致性状态.如果数据库运行中发生故障,有些事务尚未完成就被迫中断,那么这个数据库就处于一种不一致状态.
  3. 隔离性,一个事务的执行不能被其他事务干扰.
  4. 持续性,也成为持久性,指一个事务一旦提交,它对数据库中的改变应该是永久性的.接下来任何其他操作或者故障不应该对其执行结果有影响.

使用事务

begin transaction;commit;rollback;

事务通常由begin transaction开始,以commit或者rollback结束.commit表示提交,即提交事务所有操作.将事务中所有对数据库的更新写回到磁盘上去,事务正常结束.rollback表示回滚,即在事务运行过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库所有已经完成的操作全部撤销,回滚到事务开始前的状态.

0 0
原创粉丝点击