久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

數據庫 - mysql如何處理數據變化中的事務?

瀏覽:135日期:2022-06-14 13:16:41

問題描述

有以下兩個事務同時commit:A: 讀取余額,減掉50,提交更新數據庫B: 讀取余額,加上50,提交數據庫

假設A,B兩事務同時提交,mysql如何保證最終結果正確?mysql默認隔離級別為可重復讀,那么就有可能A讀到余額100元,然后更新到50;此時B執行,B執行完成。此時庫為150;A再提交的話就成了50,B的更新被覆蓋。。我的這個理解方式哪里有問題?mysql如何解決這個問題?

問題解答

回答1:

事務這塊在程序控制,一般不要數據庫自己的事務機制

回答2:

select for update,上鎖,效果就是A或B其中一個讀了余額,另外一個等待鎖讀不了余額,也就不會有后續的并發寫。

回答3:

你這個不屬于事務,事務是用來處理多個事件的添刪改

而你這個屬于并發。。。

只是修改一條數據,不需要使用事務,像你說的同時就會耗性能

相關文章:
主站蜘蛛池模板: 楚雄市| 姜堰市| 张家港市| 平阳县| 吴川市| 炎陵县| 历史| 岐山县| 水富县| 电白县| 泸州市| 福海县| 湛江市| 临海市| 潮州市| 甘泉县| 兰州市| 西乌| 呈贡县| 静宁县| 普宁市| 长治县| 泰安市| 巴马| 南澳县| 新疆| 慈利县| 平凉市| 西乌| 准格尔旗| 招远市| 获嘉县| 盐亭县| 榆林市| 通江县| 固镇县| 德江县| 西丰县| 札达县| 九台市| 吴旗县|