我正在使用 InnoDB 引擎创建一些表。我在 yii 框架中使用 CDbMigration 执行此操作。这是我的类似代码:
public function up(){
$this->createTable(...);
$this->addForeignKey(..);
}
添加外键时出错,很明显 migrate up 命令没有创建外键,但我预计它也不会创建表(因为 InnoDB 安全事务)但它创建了表。我对安全交易有误吗?
CREATE TABLE
位于隐式提交列表(http://dev.mysql.com/doc/refman/5.6/en/implicit-commit.html)。它以及它之前的任何东西都将被提交并且不会回滚。