2010-12-10 69 views
0

我正在做一個表更新在mysql中包括其他表上的2個左連接。這是所有MyIsam表格。用左連接更新會鎖定所有MyIsam表mysql嗎?

UPDATE DBtutorial_code LEFT JOIN tutorial ON tutorialid_tutorial = tutorial_coderef_tutorial LEFT JOIN tutorial_code_language ON tutorial_code_language。 'id_tutorial_code_language ='1'SET tutorial_code ='要添加的代碼',ref_tutorial_code_language ='2'其中tutorial_codeid_tutorial_code ='3'和tutorialref_tutorial_main ='1'和tutorial_code_languageid_tutorial_code_language =「1」

我想知道如果只更新該表將在該過程或如果總的3個表(更新一個和所述兩個連接的)的將在處理過程中被鎖定被鎖定。事實上,我不希望在過程中修改連接的表,因爲更新取決於它們。

如果2頁連接的表沒有被鎖定,我想我將不得不使用鎖和鎖寫每一個表中使用

回答

1

將他們全部鎖。

+0

非常感謝PMV。但你能給我提供證明它的信息嗎(mysql文檔,執行測試...)。 – user538164 2010-12-12 10:10:56

+1

ALL寫入操作鎖定所有使用的MyISAM表格:http://dev.mysql.com/doc/refman/5.5/en/table-locking.html,切換到InnoDB :) – Kedare 2010-12-19 11:22:48