mysql中设置自动提交失效如何解决

39次阅读
没有评论

共计 752 个字符,预计需要花费 2 分钟才能阅读完成。

mysql 中设置自动提交失效如何解决,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

问题很简单 JDBC 连接 mysl 获取 connnection 然后 conn.setAutoCommit(false);
重点来了 现在是要插入一条记录
inset1…… 然后做一些逻辑处理,更新另一条数据 update2.。。
最后 conn.commit(); 当然 catche 里面还有 conn.rollback()。
DEBUG 时候发现 insert1 执行完,已经有值了。。原以为是隔离级别的问题,没在意。然后继续执行逻辑处理,
出现异常 conn.reollback()了。。此时再一看 插入的数据没有回滚。代码检查 N 次没查出问题。
无奈又要问度娘,谷爷。。。此段时间乃是煎熬啊~~~~  www.2cto.com  
最后还是有成果的。找到了个表存储引擎的文章。
 
show create table 表名;

 
可以看到 ENGINE=MyISAM
MyISAM 是指 Mysql 的默认存储引擎,当 create 创建新表时,未指定新表的存储引擎时,默认使用 Myisam。
MyISAM 管理非事务表。它提供高速存储和检索,以及全文搜索能力
既然有非事务表,就应该有支持事务的表了。没错,度娘又告诉我了 InnoDB
InnoDB 存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比 Myisam 的存储引擎,InnoDB 写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。
  那就改吧。。
 
alter table 表名 engine=InnoDB;

看完上述内容,你们掌握 mysql 中设置自动提交失效如何解决的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-04发表,共计752字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)