您好,登錄后才能下訂單哦!
mysql中設(shè)置自動(dòng)提交失效如何解決,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
問(wèn)題很簡(jiǎn)單 JDBC 連接mysl 獲取connnection 然后conn.setAutoCommit(false);
重點(diǎn)來(lái)了 現(xiàn)在是要插入一條記錄
inset1......然后做一些邏輯處理,更新另一條數(shù)據(jù) update2.。。
最后conn.commit();當(dāng)然catche里面還有 conn.rollback()。
DEBUG時(shí)候發(fā)現(xiàn) insert1執(zhí)行完,已經(jīng)有值了。。原以為是隔離級(jí)別的問(wèn)題,沒(méi)在意。然后繼續(xù)執(zhí)行邏輯處理,
出現(xiàn)異常conn.reollback()了。。此時(shí)再一看 插入的數(shù)據(jù)沒(méi)有回滾。代碼檢查N次沒(méi)查出問(wèn)題。
無(wú)奈又要問(wèn)度娘,谷爺。。。此段時(shí)間乃是煎熬啊~~~~ www.2cto.com
最后還是有成果的。找到了個(gè)表存儲(chǔ)引擎的文章。
show create table 表名;
可以看到ENGINE=MyISAM
MyISAM是指Mysql的默認(rèn)存儲(chǔ)引擎,當(dāng)create創(chuàng)建新表時(shí),未指定新表的存儲(chǔ)引擎時(shí),默認(rèn)使用Myisam。
MyISAM管理非事務(wù)表。它提供高速存儲(chǔ)和檢索,以及全文搜索能力
既然有非事務(wù)表,就應(yīng)該有支持事務(wù)的表了。沒(méi)錯(cuò),度娘又告訴我了 InnoDB
InnoDB存儲(chǔ)引擎提供了具有提交、回滾和崩潰恢復(fù)能力的事務(wù)安全。但是對(duì)比Myisam的存儲(chǔ)引擎,InnoDB寫(xiě)的處理效率差一些并且會(huì)占用更多的磁盤(pán)空間以保留數(shù)據(jù)和索引。
那就改吧。。
alter table 表名 engine=InnoDB;
看完上述內(nèi)容,你們掌握mysql中設(shè)置自動(dòng)提交失效如何解決的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。