文章詳情頁
數(shù)據(jù)庫 - mysql如何處理數(shù)據(jù)變化中的事務?
瀏覽:98日期:2022-06-14 13:16:41
問題描述
有以下兩個事務同時commit:A: 讀取余額,減掉50,提交更新數(shù)據(jù)庫B: 讀取余額,加上50,提交數(shù)據(jù)庫
假設A,B兩事務同時提交,mysql如何保證最終結(jié)果正確?mysql默認隔離級別為可重復讀,那么就有可能A讀到余額100元,然后更新到50;此時B執(zhí)行,B執(zhí)行完成。此時庫為150;A再提交的話就成了50,B的更新被覆蓋。。我的這個理解方式哪里有問題?mysql如何解決這個問題?
問題解答
回答1:事務這塊在程序控制,一般不要數(shù)據(jù)庫自己的事務機制
回答2:select for update,上鎖,效果就是A或B其中一個讀了余額,另外一個等待鎖讀不了余額,也就不會有后續(xù)的并發(fā)寫。
回答3:你這個不屬于事務,事務是用來處理多個事件的添刪改
而你這個屬于并發(fā)。。。
只是修改一條數(shù)據(jù),不需要使用事務,像你說的同時就會耗性能
相關文章:
1. android - NavigationView 的側(cè)滑菜單中如何保存新增項(通過程序添加)2. jquery清除input type為password?3. 提示語法錯誤語法錯誤: unexpected ’abstract’ (T_ABSTRACT)4. tp5 不同控制器中的變量調(diào)用問題5. 這段代碼既不提示錯誤也看不到結(jié)果,請老師明示錯在哪里,謝謝!6. php - 第三方支付平臺在很短時間內(nèi)多次異步通知,訂單多次確認收款7. php7.3.4中怎么開啟pdo驅(qū)動8. ueditor上傳服務器提示后端配置項沒有正常加載,求助!!!!!9. mysql服務無法啟動1067錯誤,誰知道正確的解決方法?10. 老師 我是一個沒有學過php語言的準畢業(yè)生 我希望您能幫我一下
排行榜

熱門標簽