一、原子性(Atomicity):操做不可分割,要麼完成,要麼不完成。數據庫
二、一致性(Consistency):數據一致性。如A轉帳給B,B增長的數額等於A減小的數額。併發
三、隔離性(Isolation):不一樣操做間互不影響。ide
四、持久性(Durability):記錄須要持久化。如轉帳成功後,就能一直生效,而不是在沒有其餘操做的狀況下,轉帳的操做結果失效。blog
事務是一個或多個數據庫操做集合。這個操做集合能保證原子性,隔離性,一致性和持久性。事務
一、髒讀:一個事務讀到另外一個事務未提交的數據。ci
二、不可重複讀:事務A在事務B修改或刪除數據並提交先後,各讀取了一次數據,兩次讀取到的數據是不一致的。it
三、幻讀:事務A在事務B新增數據並提交先後,各讀取了一次數據,兩次讀取到的數據不一致。io
一、讀未提交(Read Uncommitted):一個事務能讀到另外一個事務未提交的數據,致使髒讀。入門
二、讀已提交(Read Committed):一個事務只能讀到另外一個事務提交了的數據,有不可重複讀和幻讀的問題。table
三、可重複讀(Repeatabled Read):事務A先根據某些條件查詢出了一些數據,以後另外一個事務B又向表中修改了部分符合這些條件的記錄並提交,事務A再次根據該條件查詢時,讀出的仍然是第一次查詢出的數據。但仍然有幻讀問題。
四、串行化(Serializable):事務不能併發操做,只容許串行操做,能防止髒讀、不可重複讀和幻讀問題。
注意:這四種隔離級別是SQL的標準定義,在MYSQL實現中,MYSQL在"Repeatabled Read"隔離級別時,是能夠禁止幻讀問題的發生的。
一、MYSQL開啓事務命令:begin
二、MYSQL提交事務命令:commit
三、MYSQL回滾事務命令:rollback