1. 程式人生 > >MySQL事務的的介紹及使用

MySQL事務的的介紹及使用

1. 事務的特性

1.1 原子性(Atomicity): 原子性是指事務是一個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。

1.2. 一致性(Consistency): 在一個事務中,事務的前後資料的完整性必須保持一致,可以想象銀行轉賬、火車購票。

1.3 隔離性(isolation):多個事務,事務的隔離性是隻多個使用者併發訪問資料庫時,一個使用者的事務部能被其他使用者的事務所幹擾,多個併發事務之間

資料要相互隔離。

1.4 永續性(Durability):永續性是指一個事務一旦被提交,它對資料庫中資料的改變就是永久性的,接下來即使資料庫發生故障也不應該對其有任何影響。

2. 事務的併發訪問問題

2.1. 髒讀:在一個事務中,當讀取資料時,讀到了另一個事務未提交的資料。

比如A賬戶給B賬戶轉了1快錢,但是A沒有提交事務,被B賬戶通過髒讀看到了,這時,B就會以為A已經把錢轉過來了,但是這時,A賬戶回滾事務。其實錢就沒給B轉過去,但是B自己本身以為A已經轉過去了。

2.2 不可重複讀:在事務中,兩次讀取資料內容不一致,這是因為在查詢時,有時間間隔,資料被另一個事務已經修改提交了,那就會出現問題。