数据库事务的四大特性

238 阅读2分钟
  • 原子性 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
  • 一致性 在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。即事务开始前后数据的总体状态是一致的,一个开边,另外一个必须跟着变化,保持平衡
  • 隔离性 隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行 相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防止事务操作间的混淆,必须串行化或序列化请 求,使得在同一时间仅有一个请求用于同一数据。
  • 持久性 事务一旦提交,便会使数据持久化,无法逆转,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
/*     事务        */

-- mysql 是默认开始事务提交的 
SET autocommit =0;   /*关闭*/
SET autocommit =1;   /*开启 默认是开启的*/

-- 手动处理事务
SET autocommit =0; 
-- 事务开启   
START TRANSACTION   -- 标记一个事务的开始, 从这个之后的sql都在同一个事务内 

INSERT xx;
INSERT xx;

-- 提交  (持久化成功)
COMMIT

-- 回滚 (回到原来的样子 失败!)
ROLLBACK

-- 事务结速, 开启自动提交事务
SET autocommit =1;