此表有兩個字段,價格和金額。在Innodb中記錄鎖定,是否可以工作
我表演上選擇了更新,其價格低於100(查詢1)中的所有記錄這個InnoDB表的查詢。
雖然此查詢是怎麼回事,我希望能夠在有價greather 100.這是一定的工作表中插入或更新行?
與此同時,我想保證任何試圖更新或插入行的表格,其價格低於100將不會發生,直到(查詢1)完成。這也是確定的嗎?
如果我想在查詢類型1的時候執行普通select *查詢,並且問題2中的查詢能夠執行這些讀操作,或者這些讀操作是否必須等到鎖關閉了嗎?這一定是肯定的。編輯:我想這些選擇將能夠訪問任何記錄表
最後,指標得到這個工作的關鍵?還是會按原樣工作?
非常感謝。
關於第3點,那麼有沒有辦法讀取當前正在通過「SELECT FOR UPDATE」查詢的記錄?是的,請指教。該鏈接是信息性的,但我不知道該怎麼做。感謝您的其他答案。 – 2013-05-13 15:45:37
正如我所說的,這取決於您當前的[事務隔離模式](http://dev.mysql.com/doc/refman/5.5/en/set-transaction.html)。 (基於某些信息,我在那裏感到驚訝,我已經更新了其他一些觀點。) – duskwuff 2013-05-13 16:07:45
只是爲了澄清,如果您的TX隔離級別爲SERIALIZABLE或REPEATABLE-READ,則讀取將被阻止,並且如果級別READ COMMITTED或READ UNCOMMITTED – 2013-05-13 16:22:46