最近需要通過JDBC對數據庫做事務型操作,實踐時發現,并沒有達到想要的效果,表現在:1、每次執行executeUpdate()后,數據就馬上能在DB中查到。但按理來說,我還沒執行commit(),DB中不應該有這個數據;2、執行rollback()時,數據也沒回滾。
定位問題后,發現是數據庫表類型在作祟:
當時設定的“表類型”為MyISAM,而這種類型,是不支持事務操作的。
能夠支持事務操作的表類型是“InnoDB",修改表類型為”InnoDB"后,事務操作終于正常了。
按網上的說法,InnoDB盡管功能更強大,但查詢性能要比MyISAM差一些。具體沒有進行考證。有興趣的可以測試下。
傳送門:
InnoDB與MyISAM的六大區別
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
