1. 程式人生 > 實用技巧 >Mysql事務通俗理解

Mysql事務通俗理解

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 在該表中插入、刪除

了一些新的行. 之後, 如果 T1 再次讀取同一個表, 就會多出、少了幾行.