不可重複讀,是指在資料庫訪問中,一個事務範圍內兩個相同的查詢卻返回了不同數據。
這是由於查詢時系統中其他事務修改的提交而引起的。比如事務T1讀取某一數據,事務T2讀取並修改了該數據,
T1為了對讀取值進行檢驗而再次讀取該數據,便得到了不同的結果。
一種更易理解的說法是:在一個事務內,多次讀同一個數據。在這個事務還沒有結束時,另一個事務也訪問該同一數據。那麼,在第一個事務的兩次讀數據之間。由於第二個事務的修改,那麼第一個事務讀到的數據可能不一樣,這樣就發生了在一個事務內兩次讀到的數據是不一樣的,因此稱為不可重複讀,即原始讀取不可重複。