网上有人说开启事务后 sql语句执行错误或程序出错 没有执行rollback的情况下,下一次运行就会自动commit

程序出错不会回滚rollback

但是也有人说抛出异常等 程序如果MySQL存在没有提交的事务,那么这时候 AUTOCOMMIT 自动提交的参数应该是为 0 的。

不过如果你通过其他的语言的MySQL驱动来操作的话,这些驱动一般都带有自动恢复 AUTOCOMMIT 的功能,在请求处理完成后会自动 ROLLBACK 没有处理的事务。

回复内容:

网上有人说开启事务后 sql语句执行错误或程序出错 没有执行rollback的情况下,下一次运行就会自动commit

程序出错不会回滚rollback

但是也有人说抛出异常等 程序如果MySQL存在没有提交的事务,那么这时候 AUTOCOMMIT 自动提交的参数应该是为 0 的。

不过如果你通过其他的语言的MySQL驱动来操作的话,这些驱动一般都带有自动恢复 AUTOCOMMIT 的功能,在请求处理完成后会自动 ROLLBACK 没有处理的事务。

这里我默认认为你使用的是PDO吧。

官方文档是这样说的:

When the script ends or when a connection is about to be closed, if you have an outstanding transaction, PDO will automatically roll it back. This is a safety measure to help avoid inconsistency in the cases where the script terminates unexpectedly--if you didn't explicitly commit the transaction, then it is assumed that something went awry, so the rollback is performed for the safety of your data.

When the script ends or when a connection is about to be closed

意思就是说,当脚本结束(包括正常结束或者异常结束).

PDO will automatically roll it back

PDO会自动回滚。

文档已经说的很清楚了。

如果你不是用的PDO驱动,可查看相关驱动文档,或者在问题中说清楚用的什么驱动。

顺便一提,之前的mysql_connect()函数官方已经不建议再使用了(was deprecated)。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql 回滚之后抛出异常_在PHP中 开始事务后,程序抛出异常 没有执行commit也没有执行rollback mysql事务会回滚吗?...相关推荐

  1. C MySql封装类 高性能连接池_在vc中通过连接池操作mysql(api方式),附c++访问mysql的封装类...

    在有大量节点访问的数据库设计中,经常要使用到连接池来管理所有的连接. 一般方法是:建立两个连接句柄队列,空闲的等待使用的队列和正在使用的队列. 当要查询时先从空闲队列中获取一个句柄,插入到正在使用的队 ...

  2. mysql设置数据库显示汉字_在CMD中操作mysql数据库出现中文乱码解决方案

    百度了一下..有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 . 其实,只要保证cmd客户端和MySQL两者编码一致即可. ...

  3. mysql怎么做库存管理_电商中的库存管理实现-mysql与redis

    库存是电商系统的核心环节,如何做到不少卖,不超卖是库存关心的核心业务问题.业务量大时带来的问题是如何更快速的处理库存计算. 此处以最简模式来讨论库存设计. 以下内容只做分析,不能直接套用,欢迎各位同道 ...

  4. mysql时间正确时区错误_在app中的日期时间但在mysql [时区]错误

    问题:在应用程序服务器的正确时间,数据库中出错. 我在中国,时区是UTC + 8 我使用休眠.实体定义如下(语言:Scala) class CargoJournal { @Type(`type`=&q ...

  5. mysql pmt函数怎么用_在Golang中如何正确地使用database/sql包访问数据库

    本文记录了我在实际工作中关于数据库操作上一些小经验,也是新手入门golang时我认为一定会碰到问题,没有什么高大上的东西,所以希望能抛砖引玉,也算是对这个问题的一次总结.其实我也是一个新手,机缘巧合几 ...

  6. mysql选什么隔离级别_互联网项目中mysql应该选什么事务隔离级别

    摘要 企业千万家,靠谱没几家. 社招选错家,亲人两行泪. 祝大家金三银四跳槽顺利! 引言 开始我们的内容,相信大家一定遇到过下面的一个面试场景 面试官:"讲讲mysql有几个事务隔离级别?& ...

  7. mysql 每条记录大小_计算数据库中各个表的数据量和每行记录所占用空间

    很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tablespaceinfo ( nameinfo VARCHAR(500) , row ...

  8. mysql查询特殊符号时_数据库查询中的特殊字符的问题_MySQL

    在进行数据库的查询时,会经常遇到这样的情况: 例如想在一个用户数据库中查询他的用户名和他的密码,但恰好该用户使用的名字和密码中有特殊的字符,例如单引号,"|"号,双引号或者连字符& ...

  9. jdbc读取mysql时分秒yyyy-mm-dd hh:_[转]JDBC中日期时间的处理技巧

    Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒.毫秒以及时区的控制方法,同时也提供一些工具方法,比如日期/时间的比较,前后判断等. java.uti ...

最新文章

  1. 分部类--重温篇[好处,示例]
  2. 工作260:js判断一个数组是否包含一个指定的值
  3. python测速程序_Python大数据分析学习.测试程序执行速度
  4. mysql不显示默认密码_免安装版mysql不出现默认密码状况(基于mysql8.0)
  5. 迪士尼确认《花木兰》档期:7月24日北美等多地上映
  6. hdu 2896 AC自动机
  7. 蓝桥杯 ADV-225 算法提高 9-2 文本加密
  8. Pyhton注释符号使用方法及规范
  9. apache 网址重定向
  10. 5个CSS3技术实现设计增强
  11. HashSet原理、TreeSet
  12. Zircon DDK入门指南
  13. php给img标签加alt属性
  14. 01【托业口语】考试介绍
  15. 基于C/C++语言的停车场管理系统编程课程设计超详细
  16. Lambda钱包API接入教程
  17. 收藏的有用博客及源码地址
  18. Python tkinter之PhotoImage图片显示问题
  19. [考研信息] 2020年考研重要时间节点
  20. 下载国外大数据库不用愁

热门文章

  1. 使用IPFS集群搭建创建私有IPFS网络
  2. 2014年计算机初级应用考试是,2014年国硕士研究生入学统一考试计算机基础试题...
  3. c语言long说明符,C语言-类型说明符 long,short,unsigned,signed
  4. python内置函数open的解释_在python的内置open()函数中缓冲的用途是什么?
  5. 七度空间338多少钱一包_2020黄果树香烟一包多少钱 黄果树香烟价格表图排行榜...
  6. android webservices 返回多行多列数据,NoahWeb实现表格多行多列
  7. w7提示无法关闭计算机,win7关不了机怎么回事?老司机教你怎么解决电脑关不了机...
  8. mysql 8 my.cfg_搭建lamp环境以及安装配置phpmyadmin
  9. 失效日期 软件测试案例_软件异常测试
  10. 中关村Win11 32位微软原版ISO V2021.08