iOS FMDB 事務的理解

2021-07-22 10:27:14 字數 509 閱讀 3056

[queue intransaction:^(fmdatabase *db, bool *rollback) 

// etc…

[db executeupdate:

@"insert into mytable values (?)"

, [nsnumber

numberwithint:

4]];

}];

最簡單的例子來說明事務

「a賬戶向b賬號匯錢」來說明事務

1、從a賬號中把餘額讀出來。

2、對a賬號做減法操作。

3、把結果寫回a賬號中。

4、從b賬號中把餘額讀出來。

5、對b賬號做加法操作。

6、把結果寫回b賬號中。

為了資料的一致性,這6件事,要麼都成功做完,要麼都不成功。而且這個操作的過程中。對a、b找好的其他訪問必須鎖死,所謂鎖死就是要排除其他的讀寫操作,不然會有髒資料問題,這就是事務。

參考:

對事務的理解

事務 transaction 是訪問並可能更新資料庫中各種資料項的乙個程式執行單元.事務的四個屬性 原子性atomicity 乙個事務是乙個不可分割的工作單位,事務中包括的諸操作要麼都做,要麼都不做.一致性consistency 事務必須是使資料庫從乙個一致性狀態到另乙個一致性狀態.一致性與原子性是...

spring 事務的理解

1 spring事務的本質其實就是資料庫對事務的支援 2 spring事務的傳播屬性 propagation required 支援當前事務 如果當前沒有事務,就新建乙個事務。propagation requires new新建事務,如果當前存在事務,把當前事務掛起。propagation supp...

對事務的理解

事務 為了實現某個功能而組合在一起的一組sql語句,這組sql語句要麼全執行,要麼全不執行 例 張三要給李四轉100塊錢,那麼如果轉錢成功的話,張三的賬戶會少100,而李四的賬戶會多100 否則張三和李四的賬戶餘額仍保持不變。事務有四大特性 簡稱為acid特性 原子性 atomicity 一致性 c...