Mysql事務通俗理解
阿新 • • 發佈:2020-10-22
Mysql事務
1.1建立事務
方式一:
begin;
方式二:
start transaction;
1.2普通操作
(1)提交:
commit
(2)回滾:
rollback;
(3)存節點:
savepoint p1(節點名字);
(4)回滾到某個節點:
roolback p1(節點名字);
1.3四大特性
1.3.1原子性
通俗理解:將事務看作是不可再分的原子,一擔開始事務,要麼全部執行,要麼全部取消,即把
一個事務看著一個整體,牽一髮而動全身。
1.3.2一致性
通俗理解:指的是操作資料庫中的資料,所準尋的原則在事務前後保持一致,所謂原則,舉個例子
就是在定義一個數據型別為非空時,事務操作不改變其性質。
1.3.3隔離性
通俗理解:對於一個事務,如果不提交他,那麼這個事務只能在當前程序中檢視,別的程序檢視不到。
1.3.4永續性
通俗理解:事務一擔提交,就不能被撤消,始終被保留。
1.4多事務弊病
1.4.1髒讀
對於兩個事務 T1, T2, T1 讀取了已經被 T2 更新但還沒有被事務提交**的欄位. 之後, 若 T2 **回滾事務, T1讀取的內容就是臨時且無效的
1.4.2不可復讀
對於兩個事務 T1, T2, T1 讀取了一個欄位, 然後 T2 更新並提交了該欄位. 之後, T1再次讀取同一個欄位, 值就不同了
1.4.3幻讀
對於兩個事務 T1, T2, T1 從一個表中讀取了一個欄位, 然後 T2 在該表中插入、刪除