當咱們學習數據庫事務的時候,咱們就知道了事務有4個特性,分別是原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。數據庫
要麼所有成功,要麼所有失敗,只要有一個失敗,已經成功的都要回滾。
好比A帳號給B帳號轉帳100塊錢,正常狀況是A扣款100塊,而後B帳號增長100塊。若是A這邊扣款成功,B增長100塊的時候失敗了,這個時候,A扣款的操做就要回滾,也就是A也不扣款,B也沒新增。併發
wikipedia包含這類描述學習
Any data written to the database must be valid according to all defined rules, including constraints, cascades, triggers, and any combination thereof.
數據的寫入,必須符合咱們的定義的規則。好比咱們定義了金額是數值型,那麼久不能傳入字符串。咱們定義了金額不能小於0,那就不能賦值爲負數(這個是咱們程序定義的)。spa
指併發中的事務,即使操做共同的數據時,每一個是事務是相互隔離的,相互不能影響的,每一個事務都有本身完整的事務空間。
隔離級別從低到高:3d
在事務1還沒提交的時候,事務2能夠讀取到事務1更改的值。blog
上面例子能夠看出,在同一個事務中,事務2讀取的值是不同的。事務
圖跟上面同樣ip
串行化,就是全部的事務串行的執行,一個事務執行才,才能執行後面一個。ci
當一個事務讀取到另外一個事務未提交的數據,就可能發生髒讀。
參見讀未提交的例子。字符串
在一次事務中,查詢屢次的結果不是一致的,這代表發生不可重複讀。
參見讀已提交的例子。
在一次事務中,查詢屢次的結果集不是一致的。
指事務一旦提交,就永久保留下來。系統崩潰、機器宕機,只要重啓數據庫,就能夠讀取到數據。