1. 相同点:这三个关键字都与mysql的事务相关,直接操纵事务的语句,

  2. 不同点:
    (1)他们的作用范围不一样。
    AUTOCOMMIT是数据库innodb引擎级别的属性,对于start transaction和begin/end而言是全局的,一旦使用SET AUTOCOMMIT=0 禁止自动提交,则在这个数据库内部的所有事务都不会自动提交,除非你手动的为每一个事务执行了commit或者rollback语句;而start transaction和begin/commit只能控制某一个事务。
    (2)优先级不同。存在一种set autocommit = 1/0 但是 对于某一个sql语句使用了 begin/commit的原子性操作,那么mysql会优先使用begin/commit命令控制被这组命令修饰的事务;,这一点比较重要,因为之前很多的博主都说要先设置set autocommit = 0关闭掉事务的自动提交属性才能使用 begin/commit或者begin/rollback的原子性操作,这是错误的。关于这一点,mysql官方文档做了详细的解释,
    下面是我引用的官方文档中的最重要的一句话

A session that has autocommit enabled can perform a multiple-statement transaction by starting it with an explicit START TRANSACTION or BEGIN statement and ending it with a COMMIT or ROLLBACK statement.

  1. 至于start transaction 和 begin的区别:
    两者的作用一摸一样,只是在begin可能成为关键字的时候,使用start transaction 可以 避免这种情况,start transaction或者begin开启一个事务,然后使用commit提交事务或者ROLLBACK回滚事务

mysql中autocommit,start transaction和begin/commit的异同相关推荐

  1. Mysql中autocommit的用法

    定义 Mysql文档原文:SET autocommit disables or enables the default autocommit mode for the current session. ...

  2. mysql 删除最后100条_sql-如何回滚我在MySQL中的最后一个删除命令?

    sql-如何回滚我在MySQL中的最后一个删除命令? 我不小心从表中删除了很多行... 如何退回? 我使用PuTTY执行查询. 如果您能安全地指导我,我将不胜感激. 10个解决方案 96 votes ...

  3. mysql中transaction的实现

    transaction在数据库编程中是一个重要的概念,这样做可以控制对数据库操作的事务提交. 但是要想在程序中实现事务,要求数据库本身支持事务. 现在的关系型数据库,我们日常使用的mysql,orac ...

  4. mysql 事务autocommit_亲身实验mysql配置中autocommit和事务的关系

    话说亲身实验mysql配置中autocommit和事务的关系,是由于项目中用到的mysql事务没能回滚,我用的是InnoDB的引擎,就开始追查原因.这一查不要紧,发现网上如出一辙的说法竟也不可信,还是 ...

  5. mysql begin end 用法_数据库:Mysql中“select ... for update”排他锁分析

    作者:志波同学来源:https://mp.weixin.qq.com/s/8uH-7TD9ZRG4NCya80mOHg Mysql InnoDB 排他锁 用法:select - for update; ...

  6. mysql中begin end中变量定义_DECLARE只能用于BEGIN…END的开头部分定义局部变量,其作用范围只能在该BEGIN…END中。_学小易找答案...

    [单选题]表达式select ((6%(7-5))+8)*9-2+(5%2) 的运算结果是______. [判断题]所有变量名@var1.@var2等必须以1个"@"开头,可以由当 ...

  7. Mysql中 begin..end使用遇到的坑

    今天在用 Navicat 连接 mysql查询的时候,遇到了一个问题,如下代码块中所示: BEGINdeclare start_time datetime default '2021-05-06 00 ...

  8. mysql autocommit_【整理】MySQL 之 autocommit

    mysql 默认是开启 auto commit 的.可以通过如下命令查看 session 级别和 global 级别的设置: mysql> select @@session.autocommit ...

  9. mysql中以下正确的sql是_总结MySQL中SQL语法的使用

    --where子句操作符: where子句操作符 = 等于 <> 不等于(标准语法) != 不等于(非标准语法,可移植性差) < 小于 <= 小于等于 > 大于 > ...

最新文章

  1. 用计算机探索规律反思,《用计算器探索规律》教学反思
  2. springboot+vue用websocket消息推送和监听端口
  3. 编写字符串比较函数strcmp .
  4. 前端绘制绘制图表_绘制我的文学风景
  5. 期刊计算机仿真地址在哪,计算机仿真杂志社地址
  6. 富文本编辑器 CKeditor 配置使用 (带附件)
  7. JS图片自动或者手动滚动效果(支持left或者up)
  8. 基于STM32的有方科技(银而达)N58模块与OneNet平台互联
  9. 西门子PLC丨虚拟机运行仿真器供物理主机使用
  10. 这本书非常值得一读!《微习惯》读后感
  11. 十月下旬腾讯,网易游戏,百度迅雷校园招聘笔试题集锦(第271-330题)
  12. 微信小程序 之wx.previewImage图片预览(多张图片预览)
  13. 太火爆了!这一款小游戏火到把服务器搞瘫痪,合成大西瓜
  14. 计算机键盘上clr是什么意思,CLR是什么意思
  15. Android 获取摄像头像素,个数
  16. 六度空间 (bfs,广度优先)
  17. 苏炳添开始招研究生了!
  18. 爱因斯坦在20世纪初出的谜语
  19. 我的自制h1940红外遥控增强器(含软件及硬件制作方法)
  20. 【愚公系列】2023年01月 Java教学课程 004-Java语言三种注释

热门文章

  1. 特斯拉股价单日暴跌21% “车企市值第一”短期仍难易主
  2. java luckysheet html 实现excel文件在线编辑
  3. 在线直播源码搭建直播平台的后端
  4. 日常(更新至2019.8.14)
  5. 数据结构和算法-无权无向图
  6. 关于新冠疫情后世界发展趋势的几点思考
  7. iOS游戏如何防御外挂及IAP破解
  8. Android逆向之旅--疯狂兔子无敌跑跑 内购破解教程
  9. JVM读书笔记-1.来福与旺财的养牛场
  10. java netty 日志_Netty日志处理