mysql的设置自动提交失效问题_MySQL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql的设置自动提交失效问题_MySQL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1357字,纯文字阅读大概需要2分钟。
内容图文
![mysql的设置自动提交失效问题_MySQL](/upload/InfoBanner/zyjiaocheng/574/14797384ae8044d7897261de75892270.jpg)
工作几年了基本没用过mysql,悲催哈。。。今天在搞个小东西的时候用到mysql。一个很简单的问题,搞了几个小时,看来无知还是比较可怕的。。进入正题吧。问题很简单 JDBC 连接mysl 获取connnection 然后conn.setAutoCommit(false);重点来了 现在是要插入一条记录inset1......然后做一些逻辑处理,更新另一条数据 update2.。。最后conn.commit();当然catche里面还有 conn.rollback()。DEBUG时候发现 insert1执行完,数据库已经有值了。。原以为是隔离级别的问题,没在意。然后继续执行逻辑处理,出现异常conn.reollback()了。。此时再一看 插入的数据没有回滚。代码检查N次没查出问题。无奈又要问度娘,谷爷。。。此段时间乃是煎熬啊~~~~ 最后还是有成果的。找到了个mysql表存储引擎的文章。 show create table 表名;
可以看到ENGINE=MyISAMMyISAM是指Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默认使用Myisam。MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力既然有非事务表,就应该有支持事务的表了。没错,度娘又告诉我了 InnoDBInnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。 那就改吧。。 alter table 表名 engine=InnoDB; 然后再查看一下
变成InnoDB了。。再跑次程序。。没错回滚了 。。。很小个问题。。。。但如果不了解Mysql的话也挺头痛的。。搞了几个小时。。。无知就是悲催哈。。。。
作者 北京—王志伟 bitsCN.com
内容总结
以上是互联网集市为您收集整理的mysql的设置自动提交失效问题_MySQL全部内容,希望文章能够帮你解决mysql的设置自动提交失效问题_MySQL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】