MYSQL的事物四大特性(ACID

1.什么是事物?

事务(Transaction)是并发控制的基本单位。所谓的事务,它是由单独单元的一个或者多个sql语句组成,在这个单元中,每个mysql语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条sql语句一旦执行失败或者产生错误,整个单元将会回滚,也就是所有受到影响的数据将会返回到事务开始以前的状态;如果单元中的所有sql语句均执行成功,则事务被顺利执行。

例如,银行转账工作:一个账号转账给另一个账号,就会发生转账的账号会被扣钱另一个账号就会被加钱,这两个操作要么都执行,要么都不执行,在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句或整个程序。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。

注意:mysql中,有多种存储引擎,在mysql中用的最多的存储引擎有:innodb,bdb,myisam ,memory 等。其中innodb和bdb支持事务而myisam等不支持事务。

2.事物四大特性(ACID)

事务具有四个特征:原子性( Atomicity )、一致性( Consistency )、隔离性( Isolation )和持久性( Durability )。这四个特性简称为 ACID 特性。

原子性( Atomicity ):一个事务不可在分割,要么全部执行成功,要么全部执行失败。

一致性( Consistency ):一个事务的执行会使数据从一个一致状态切换到另一个一致的状态。不会改变数据的完整性和约束性。

隔离性( Isolation ):一个事务的执行不受其他事物的干扰。

持久性( Durability ):当一个事物成功提交后,就会被永久的修改了数据库数据,即使出现系统故障也将一直保留。

点击这里查看事物的开启与提交

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                                

最新文章

  1. linux lsmod命令 及相关信息
  2. linux shell脚本通过参数名传递参数值
  3. DIOCP之DEMO学习顺序及达到要求
  4. uva----11729 Commando war (突击战争)
  5. win10系统的点评
  6. IOS中如果使用RGB实现背景色
  7. Python核心编程--学习笔记--3--Python基础
  8. 基于私钥加密公钥解密的RSA算法C#实现
  9. Mvc学习笔记(4)
  10. Apache CXF多个远程拒绝服务漏洞(CVE-2013-2160)
  11. (转载)HTML--- input type=hidden
  12. swift内存管理中的引用计数
  13. java虚拟机——监控工具
  14. JDK 1.8源码阅读 HashMap
  15. dvwa安装、配置、使用教程(Linux)
  16. Scala语言学习笔记(3)
  17. 微信小程序——音阶练耳 宣传页面
  18. 【android】ViewPager 大量内容页的内存优化
  19. 中文字体@font-face的导入
  20. IoC和AOP扩展

热门文章

  1. 一个ACE 架构的 Socket Client
  2. vue项目chunk包loading失败解决办法
  3. Spring中AOP相关的API及源码解析
  4. 硬刚 lodash 源码之路,compact & concat
  5. 奇妙的 CSS MASK
  6. URL编码转换函数:escape()、encodeURI()、encodeURIComponent()讲解
  7. Vue---day05
  8. Flask 上下文机制和线程隔离
  9. Java入门基础学习,成为一个Java程序员的必备知识
  10. Resolve Error While Windows 10 Updating Cross Multiple Updating Versions (Such as Error 0x800f0831 when Update KB4556799) | 解决跨多个更新版本升级Windows 10时遭遇错误的问题(如 KB4556799 / 错误0x800f0831)