【问题标题】:InnoDB behavior for a transaction updating MyISAM and InnoDB tables更新 MyISAM 和 InnoDB 表的事务的 InnoDB 行为
【发布时间】:2014-02-03 06:36:45
【问题描述】:

我在这个网站上阅读了大部分示例 InnoDB,但我对 InnoDB 的行为一无所知。

据我所知

START TRANSACTION;

声明这是一个事务连接。到这里为止没关系。 现在我有 3 张桌子:

  • 带有 InnoDB 引擎的 tbl1
  • 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 会回滚?

【问题讨论】:

    标签: mysql transactions myisam


    【解决方案1】:

    MyISAM 对事务一无所知,它无法回滚更改。

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

    【讨论】:

      猜你喜欢
      • 2012-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 2011-12-23
      • 2011-10-14
      • 2010-12-16
      • 2014-02-26
      相关资源
      最近更新 更多