[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...