什麼是事務?
事務是由一步或幾步資料庫操作序列組成邏輯執行單元,這系列操作要麼全部執行,要麼全部放棄執行。程式和事務是兩個不同的概念。一般而言:一段程式中可能包含多個事務。(說白了就是幾步的資料庫操作而構成的邏輯執行單元)
事務具有四個特性:原子性(atomicity)、一致性(consistency)、隔離性(isolation)和持續性(durability)。這四個特性也簡稱acid性。
(1)原子性:事務是應用中最小的執行單位,就如原子是自然界最小顆粒,具有不可再分的特徵一樣。事務是應用中不可再分的最小邏輯執行體。(最小了,不可再分了)
(2)一致性:事務執行的結果,必須使資料庫從乙個一致性狀態,變到另乙個一致性狀態。當資料庫中只包含事務成功提交的結果時,資料庫處於一致性狀態。一致性是通過原子性來保證的。(說罷了就是白狗變成了黑狗,不能出現斑點狗!)
(3)隔離性:各個事務的執行互不干擾,任意乙個事務的內部操作對其他併發的事務,都是隔離的。也就是說:併發執行的事務之間不能看到對方的中間狀態,併發執行的事務之間不能相互影響。(說白了,就是你做你的,我做我的!)
(4)持續性:持續性也稱為永續性,指事務一旦提交,對資料所做的任何改變,都要記錄到永久儲存器中,通常是儲存進物理資料庫。(說白了就是一條道跑到黑)
mysql如何支援事務?
mysql的事務處理主要有兩種方法
1.用begin,rollback,commit來實現
begin開始乙個事務
rollback事務回滾
commit 事務確認
2.直接用set來改變mysql的自動提交模式
mysql預設是自動提交的,也就是你提交乙個query,就直接執行!可以通過
set autocommit = 0 禁止自動提交
set autocommit = 1 開啟自動提交
來實現事務的處理
資料庫事物
事務 sqlite預設一條語句就是乙個事務,有多少條資料就有多少次磁碟操作,比如10條計入就要10次讀寫磁碟操作。解決方法 新增事務處理,把10條操作看做乙個事務。1.sqlitedatabase 方法 public void begintransaction 開始事務 注意 事務可以巢狀,通過se...
資料庫事物
1.事物處理順序事物的sql語句 用事務 事務開始和事物提交 sql語句包裹主要執行的sql語句 事物處理可以保證一組相關操作要麼都成功,要麼都失敗.1.把事務開啟 2.寫你要執行語句 3.把事務進行提交 4.把事務回滾 rollback 遇到斷電 事務沒有提交 那麼事務會自動回滾 例如 begin...
資料庫事物
事物的概念 使用者在進行資料庫操作時的乙個資料庫操作系列。對於該操作序列中的操作,要麼全部執行,要麼全部不執行。所有的操作是乙個整體,不可分割。與事物相關的概念有事物提交和事物回滾。事物提交是將事物中對資料的更新提交到資料庫中,如果執行正常則事物結束。否則在發生異常時,事物將回滾,將資料庫狀態還原到...