更新MyISAM和InnoDB表的事务的InnoDB行为

时间:2014-01-14 23:49:11

标签: mysql transactions myisam

我在这个网站上阅读了大部分示例InnoDB,但我对InnoDB行为没有任何线索。

据我发现

START TRANSACTION;

声明这是一个交易连接。这可以,直到这里。 现在我有3张桌子:

    使用InnoDB引擎
  • tbl1
  • tbl2 MyISAM Engine
  • 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会回滚?

1 个答案:

答案 0 :(得分:0)

MyISAM对交易一无所知,也无法回滚更改。

因此,如果您回滚,将丢弃对tbl3的更改,但对tbl2的更改将保留。