文章已更新,最新地址:https://www.fearlazy.com/index.php/post/145.html

现象:

在调试数据库操作时发现还没commit数据已经插入表中,执行rollback也没有作用,明明已经调用了transaction(),这是为什么呢?

开始排查:

1.确定数据库驱动是否支持事务?使用QSqlDriver的hasFeature函数,函数的参数DriverFeature是QSqlDriver的一个枚举。

QSqlDriver可以通过QSqlDatabase的driver()函数获得。经过测试居然不支持事务,这不科学啊。

2.不支持事务难道是创建表时,数据库引擎选择错误?使用MySQL Workbench查看表的信息:

InnoDB是支持事务的啊,这就更奇怪了。

3.不是mysql的问题那就是Qt的问题了。首先想到的就是Qt编译的数据库驱动问题,于是重新编译了mysql的数据库驱动,再次测试仍然显示不支持事务。

4.最后考虑是在程序运行时出现问题,程序在使用mysql时需要用到mysql的动态库libmysql.dll,将mysql安装目录下的libmysql.dll拷贝到应用程序的目录下,再次测试事务功能正常,出现问题的原因在于原来在应用程序的目录下存在一个版本不同的libmysql.dll(电脑里装了好多版本的环境...)。

qt中mysql怎么支持事务_Qt踩坑之mysql数据库不支持事务操作?相关推荐

  1. SpringCloud+Nacos1.4.2+Seata1.3.0实现分布式事务以及踩坑总结

    文章目录 前言 一.分布式事务问题 二.Seata简介 1,是什么 2,能干嘛 3,去哪下 4,怎么玩 三.Seata-Server安装 1,官网地址 2,下载版本 3,解压修改file.conf文件 ...

  2. 【MySQL随手记】一个踩坑记录:在安全更新模式下进行数据的修改与删除

    目录 前言 1 MySQL练习的数据准备 2 Error Code:1175与安全更新模式 2.1 Error Code:1175 2.2 安全更新模式 3  安全更新模式下的update和delet ...

  3. 复现CLOCs中spconv v1.0 (commit 8da6f96)踩坑记录

    最近看了一篇基于KITTI做2D和3D后融合的论文,CLOCs: Camera-LiDAR Object Candidates Fusion for 3D Object Detection.作者在Gi ...

  4. 在数据库访问项目中使用微软企业库Enterprise Library,实现多种数据库的支持

    在我们开发很多项目中,数据访问都是必不可少的,有的需要访问Oracle.SQLServer.Mysql这些常规的数据库,也有可能访问SQLite.Access,或者一些我们可能不常用的PostgreS ...

  5. Java在MVC开发模式中使用try-catch以及throws避免踩坑

    场景 1.throws是在方法上抛出异常,throw是在语句上抛出异常. 2.try-catch是在catch里处理try捕获异常并处理. 3.一般try-catch是在上层Controller中使用 ...

  6. mysql语句大小写要求_mysql踩坑(一)-大小写规则

    mysql大小写 在实际的项目中,大家或多或少都会遇到过mysql数据库大小写的问题.下面,博主将简单的介绍一下mysql数据库的大小写问题. sql关键字和函数名 在mysql数据库中,sql关键字 ...

  7. 【Unity游戏开发】Android中如何集成Unity3D项目——入门级踩坑

    最近的学习之路真的是波折,先是想学Kotlin,结果赶上了算法比赛,恶补了几天算法,然后回归Kotlin,这周又需要调研一下Unity3D,需要把Unity项目嵌入到我们的Android项目中. 今天 ...

  8. Zynq MPSoC在自定义硬件平台中移植使用Xilinx Certified Ubuntu踩坑实录(以ZCU102为例)

    本文后续更新和资源在个人主页,欢迎点此查看 前言 在Zynq中移植Linux一直是对于我们这种初学者来说的老大难问题,这一问题在官方推出Petalinux后有所缓解.但Petalinux OS的操作简 ...

  9. homestead mysql 密码_Homestead 的安装踩坑记

    准备材料: 5.homestead 包 6.Laravel 5.6 的包,composer(composer create-project --prefer-dist laravel/laravel ...

最新文章

  1. 阿里程序员35岁P7!4年了晋升无望!明年股票拿完,年包腰斩!世界那么大,要不要去看看?...
  2. 第二次scrum冲刺
  3. 12月18日云栖精选夜读 | Java 中创建对象的 5 种方式!...
  4. Response.Write详细介绍
  5. 财务学python有什么用_学习Python对财务工作者有哪些用途?
  6. SAP CRM呼叫中心里多重Contact person confirm的处理
  7. 程序员的春天来了,赏花去!说走就走
  8. mysql 插入慢_Mongodb 与 MySQL对比
  9. 【iOS发展-44】通过案例谈iOS重构:合并、格式化输出、宏观变量、使用数组来存储数据字典,而且使用plist最终的知识...
  10. POJ1270 Following Orders(拓扑排序+回溯)
  11. 2020 Kyligence 面经
  12. GET 请求参数过大导致HTTP错误码 414 / 500 的问题
  13. 详谈APP移动端 - 加壳与脱壳
  14. 最全SSH命令 - 11种用法
  15. 物联网方面的竞赛有那些?
  16. Go语言中Printf和Println的区别
  17. visibility的常见用法(小白专用)
  18. 在1至2019中,有多少个数的数位中包含数字9?(java)
  19. 如何替换android apk中的so
  20. 各位童鞋是肿么来到这个世界上的鸟

热门文章

  1. android webview全屏显示html内容
  2. 中年技术人,如何对抗内心的焦虑与孤独?
  3. ABAP编程 选择屏幕字段权限检查--公司代码事例
  4. 基于队列数据的RR及其95%CI计算
  5. 抓拍机基线接口及C程序
  6. 8、Goroutines和Channels
  7. Linux操作系统分析-lab2-进程的创建与可执行程序的加载
  8. 如何利用markdown做出漂亮的笔记
  9. 第十二章:项目采购管理 - (12.0 什么是项目采购管理)
  10. 偏微分方程的物理含义