本文將以mysql為主分析在mysql中只有使用了innodb資料庫引擎的資料庫或表才支援事務;
事務處理可以用來維護資料庫的完整性,保證成批的sql語句要麼全部執行,要麼全部不執行;
事務用來管理insert、update、delete語句。
事務必須滿足4個條件acid:
a:atomicity 原子性
乙個事務(transaction)中的所有操作,要麼全部完成,要麼全部不完成,不會結束在中間某個環節。
事務在執行過程中發生錯誤,會被回滾(rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。
c:consistency 一致性
在事務開始之前和事務結束之後,資料庫的完整性沒有被破壞。
i:isolation 隔離性
資料庫允許多個併發事務同時對其資料進行讀寫和修改的能力,隔離性可以防止多個事務併發執行時由於交叉執行而導致資料的不一致。
事務隔離分為不同級別,包括讀未提交(read uncommitted)、讀提交(read committed)、可重複讀(repeatable)和序列化(serializable)。
d:durability 持久化
事務處理結束後,對資料的修改就是永久的,即便系統故障也不會丟失。
事務控制語句:
ps:mysql一般常用的資料庫引擎有兩種,mylsam
和innodb
。
最大區別:innodb
支援事務處理與外來鍵和行級鎖,而mylsam
不支援,但mylsam
更加穩定。
始發於2018.8.23
資料庫之事務
事務是併發控制的單位,是使用者定義的乙個操作序列。這些操作要麼都做,要麼都不做,是個不可分割的工作單位。如果某一事務成功,則在該事務中進行的所有資料更改均會提交,成為資料庫中永久的組成部分。如果事務遇到錯誤,則必須取消或回滾,所有資料均被更改清除。1 原子性 atomicity 事務是資料庫的邏輯工...
資料庫之事務
概述 事務一般是指要做的或所做的事情。在計算機術語中是指訪問並可能更新資料庫中各種資料項的乙個程式執行單元 unit 特徵 事務具有4個基本特徵,分別是 原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 duration 簡稱acid。原子性事務的原子性...
資料庫之事務
在關聯式資料庫中,乙個事務可以是一條sql語句,一組sql語句或整個程式。原子性 atomicity 乙個事務是乙個不可分割的工作單位,事務中包括的操作要麼都做,要麼都不做。一致性 consistency 事務必須是使資料庫從乙個一致性狀態變到另乙個一致性狀態。一致性與原子性是密切相關的。隔離性 i...