資料庫commit
發布時間: 2023-03-24 00:15:48
A. 若資料庫操作commit發生異常,沒有執行回滾,這時數據會存入資料庫嗎
弄清楚這個問題之前,要先要搞清楚執行數據修改(excute),但未提交事務之前,已修改的數據存放在哪裡?這時的數據是在資料庫內存緩沖區中。commit操作就是將緩沖區中已修改數據寫入磁碟,形成持久化存儲。
那麼當commit提交的修改的數據是多條時,假設部分數據已經由緩沖區寫入磁碟,另一部分還未完成時,出現異常,這個時候,如果不回滾,那麼就無法保證數據修改的一致性(比如聯機轉賬,A的賬戶扣了款,B的賬戶余額未增加)。
簡單來說就是:若資料庫操作commit發生異常,沒有執行回滾,這時可能出現部分數據保存成功,部分保存失敗,因此需要rollback回滾操作。
熱點內容