新聞中心
這篇文章主要講解了“MySQL嵌套事務與Spring事務傳播的用法”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“MYSQL嵌套事務與Spring事務傳播的用法”吧!
公司主營業(yè)務:網(wǎng)站設計制作、成都網(wǎng)站建設、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出四方臺免費做網(wǎng)站回饋大家。
摘要
savepoint 關鍵字可以實現(xiàn)嵌套事務。結(jié)合savepoint關鍵字,更方便理解spring的事務傳播。
事務嵌套
初始化表腳本
drop table t; create table t(a int, primary key(a));
開啟事務
mysql事務默認是自動提交的。通過下面的命令關閉事務自動提交。(mysql事務特性是基于同一個鏈接,不同的鏈接沒有事務關系,所以在測試的時候,保證是同一個窗口)
set @@autocommit = 0; select @@autocommit;
局部事務,外部事務都正常提交
-- 開啟事務 begin; insert into t(a) values(1); -- SAVEPOINT s; insert into t(a) values(2); RELEASE SAVEPOINT s; commit;
查詢結(jié)果,1和2都插入成功了。
select * from t;
局部事務回滾,外部事務提交
begin; insert into t(a) values(1); SAVEPOINT s; insert into t(a) values(2); ROLLBACK to SAVEPOINT s; commit;
這里局部事務回滾了,整體事務提交,查詢結(jié)果,只有1插入成功,2沒有插入,表示外部事務提交了,局部事務回滾了。
select * from t;
局部事務提交,外部事務回滾
begin; insert into t(a) values(1); SAVEPOINT s; insert into t(a) values(2); RELEASE SAVEPOINT s; ROLLBACK;
全局事務回滾,整個事務都回滾了,1和2都沒有插入成功
select * from t;
局部事務回滾,外部事務回滾
這個很明顯,1和2都不能插入成功。
感謝各位的閱讀,以上就是“MYSQL嵌套事務與Spring事務傳播的用法”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對MYSQL嵌套事務與Spring事務傳播的用法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!
本文標題:MYSQL嵌套事務與Spring事務傳播的用法
鏈接分享:http://www.dlmjj.cn/article/gghcpd.html