2014-01-14 66 views
1

我在本網站上閱讀了大部分示例InnoDB,但我不知道InnoDB的行爲。InnoDB更新MyISAM和InnoDB表的事務的行爲

至於我發現

START TRANSACTION; 

正在申報,這是一個交易的連接。直到這裏才行。 現在我有3個表:

  • TBL1與InnoDB引擎更新
  • tbl2的MyISAM引擎
  • TBL3 InnoDB的

順序:

SET AUTOCOMMIT=0 
START TRANSACTION; 
UPDATE tbl2 SET column=1 WHERE (SELECT clumn FROM tbl WHERE column2=1); 
UPDATE tbl3 SET column=1; 
Rollback; 

會發生在MyISAM什麼表是回滾還是隻有tbl3和tbl1會回滾?

回答

0

MyISAM不知道有關事務的任何信息,也無法回滾更改。

所以如果你回滾,tbl3的變化將被丟棄,但tbl2的變化將保持不變。