应用场景

生活中,我们往往经常会进行转账操作,转账操作可以分为两部分来完成,转入和转出。只有这两部分都完成了才可以认为是转账成功。

数据库中,这个过程是使用两条语句来完成的,如果其中任意一条语句出现了异常没有执行,则会导致两个账号的金额不同步,造成错误。

为了防止上面可能出现的情况,MySQL引入了事务,所谓事务就是针对数据库的一组操作,它可以由一条或者多条SQL语句组成,同一个事务的操作具备同步的特点,如果其中有一条语句不能执行的话,那么所有的语句都不会执行,也就是说,事务中的语句要么都执行,要么都不执行。

事务的隔离级别:

如果多个事务同时操作一批数据会引发一些问题,设置不同隔离级别就可以解决这些问题

事务存在的问题:

1,脏读 (读到另一个事务中未提交的数据)

2,不可重复读(在同一个事务中,两次读到的数据不一样)

3,幻读(一个事务操作数据库中所有的记录,另一个事务添加了一个数据则第一个失误查询不到自己的修改)

事务的四大特征:

1,原子性:不可分割,要么同时成功要么同时失败

2,持久性当事务提交或回滚后,数据库会持久化的保存数据

3,隔离性:多个事务之间相互独立

4,一致性:事务操作前后数据总量不变

事务两种提交方式:

手动提交:要先开启事务再提交(oracle就是手动提交)

自动提交:mysql就是自动提交

如果一个包含多个步骤的业务操作被事务管理,那么这些操作要么同时成功,要么同时失败

1:开启事务:start transaction;

2.发生异常时回滚:rollback;

3.提交操作:commit

mysql数据库中事务默认自动提交:一条dml语句自动提交一次

修改事务的默认提交方式:

1,查看事务的提交方式:select @@autocommit;

2,修改:set@@autocommit=0,修改为0后不作commit就没有修改成功

mysql事务概念_MySQL事务的概念相关推荐

  1. mysql show 原理_mysql事务的实现原理

    此篇文章算是对mysql事务的一个总结,基本把mysql事务相关的知识点都涵盖到了,面试问来问去无非也就是这些,在了解这些之前我们先对mysql在执行的过程中  有一个整体的认识,如下图 如上图所示, ...

  2. mysql ib_logfile 数量_Mysql 事务日志(Ib_logfile)

    mysql的innodb中事务日志ib_logfile(0/1) 概念: 事务日志或称redo日志,在mysql中默认以ib_logfile0,ib_logfile1名称存在,可以手工修改参数,调节开 ...

  3. mysql 开启事物_mysql事务的开启

    mysql事务的开启 对于一个MYSQL数据库(InnoDB),事务的开启与提交模式无非下面这两种情况: 1>若参数autocommit=0,事务则在用户本次对数据进行操作时自动开启,在用户执行 ...

  4. mysql事物 总结_Mysql事务总结

    数据库 事务的特性ACID 事务(Transaction)是并发控制的基本单位. 所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.例如,银行转帐工作:从一个帐 ...

  5. mysql事务服务_MySQL (事务篇)

    1.事务内,存在两条sql语句,第一条执行成功了,第二条执行失败了,commit之后,什么结果? 结果:第一条执行成功,第二条执行失败,不进行回滚 注意:MySQL 中的回滚,必须人为去做,在PHP ...

  6. mysql+nest+嵌套事务_MySQL——事务

    事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致状态转换为另一种一致状态. 关键词事务四大特性ACID MySql事务隔离级别 MVCC多版本并发控制实现方 ...

  7. spring mysql事物级别_mysql事务级别和spring中应用

    一.事务的基本要素(ACID) 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有 ...

  8. mysql当时读_Mysql事务以及四中隔离级别实例2以及InnoDB如何解决当时读的幻读问题...

    接着上一篇笔记:http://blog.csdn.net/qq_33366229/article/details/78337354 第三级别(重复读): 第二种情况: 也就是基于上一种情况 事务A在事 ...

  9. mysql 并发性_MySQL 事务

    1.什么是事务,为什么需要事务 事务(Transaction)是数据库并发控制的不可分割的基本单位,可以将一系列的数据库操作集合到一个事务中,从总体上来讲这个事务可能会对数据库进行一些变动.事务存在的 ...

最新文章

  1. c++ 程序执行时间
  2. 【学习笔记】 Javascript定时器
  3. 标准C库对文件操作的引入
  4. 【SpringBoot 2】(三)SpringBoot相较于Spring的特点
  5. kmeans聚类算法matlab代码,K-Means算法实现(Matlab)
  6. CMake使用详解二(多文件编译)
  7. wincc服务器客户端用虚拟机,什么情况下用wincc服务器与客户端
  8. 视觉SLAM十四讲_2_三维空间刚体运动
  9. 【开篇】初等数论及其核心内容
  10. linux qt编译器设置,Qt使用教程:添加编译器(一)
  11. HTML页面浏览历史,浏览历史记录功能
  12. 最新最全自己动手做一个富文本编辑器(附源码 api)
  13. Python开发——函数【迭代器、生成器、三元表达式、列表解析】
  14. 自助订餐管理系统(小程序+后台源码+数据库)
  15. 【Nodejs】448- 深入学习 Node.js Buffer
  16. 基于Hexo搭建Next主题博客
  17. K8S Runtime CRI OCI contained dockershim 理解
  18. 输入N,求N以内(包括N)的质数之和
  19. GridView常见问题
  20. 英文演讲文稿 java,英文演讲稿优秀范文五篇

热门文章

  1. LOGO设计价格 之 全面解说和如何选择 【原创】
  2. mac 安装swoole
  3. nginx 设置开机自动启动脚本
  4. dplyr 数据操作 常用函数(2)
  5. 记今日访问网页总是报nginx 403的解决
  6. C++ operator两种用法【转】
  7. self = [super init]
  8. 一个严重损坏Excel深度修复案例
  9. JavaScript代码检验工具——JS Lint工具安装指南
  10. 获得一个字符的ASCII值