0

如何實現一個事務讀取的行不被另一個事務讀取的情況?我如何實現一個事務讀取的行不被另一個事務讀取的情況?

從我的一個表格與列A-F,我需要選擇max(columnA)。用最大值和基於一些計算,我將不得不執行其他插入語句。

使用可序列化的隔離級別,2個事務正在讀取相同的最大值。這導致鎖等待一個事務並在另一個事務上發生死鎖。

+0

簽出在[這個鏈接]的溶液[1] [1]:http://stackoverflow.com/questions/2051225/how-to-deliberately-lock-a-mysql-row -such - 即偶數選擇意志 - 返回一個錯誤 – 2012-07-31 19:25:18

回答

0

您可能無法完全基於隔離級別來解決此問題。

您可以進行的設計更改是分別存儲最大值,並具有三級標誌以及記錄 - 最大值處理,處理和未處理。因此,無論何時事務從表中讀取最大值,它都可以檢查最大值是否已被處理。如果是這樣,它不執行其他插入語句。

相關問題