mysql中的顯示/隱式/自動提交


show variables like '%autocommit%';--查看是否自動提交

set autocommit on;

 

mysql在進行如插入(insert)操作的時候需不需要commit,看存儲引擎,

如果是不支持事務的引擎,如myisam,則是否commit都沒有效的。

如果是支持事務的引擎,如innodb,則得知道你事物支持是否自動提交事務(即commit)

 

mysql存儲過程中最后有commit和沒有commit 是有所不同的。(為測試但是碰到過這個問題)

如果存儲過程中沒有執行commit,那么spring容器一旦發生了事務回滾,存儲過程執行的操作也會回滾。如果存儲過程執行了commit,那么數據庫自身的事務此時已提交,這時即使在spring容器中托管了事務,並且由於其他原因導致service代碼中產生異常而自動回滾,但此存儲過程是不會回滾,因為數據自身的事務已在存儲過程執行完畢前提交了,  也就是說此時spring回滾對存儲過程的操作是無效的了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM