InnoDB更新MyISAM和InnoDB表的事务的行为
问题描述:
我在本网站上阅读了大部分示例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会回滚?
答
MyISAM不知道有关事务的任何信息,也无法回滚更改。
所以如果你回滚,tbl3的变化将被丢弃,但tbl2的变化将保持不变。