【发布时间】:2015-03-03 20:08:03
【问题描述】:
我尝试将外键添加到表中,但是当我运行迁移时出现此错误:
General error: 1005 Can't create table 'chooseone.#sql-49a_49'
这很奇怪,因为chooseone 是我的数据库的名称。以下是我尝试添加 FK 的方法:
$this->addForeignKey('FK_user_profile', 'tbl_profile', 'user_id', 'tbl_user', 'id', 'CASCADE', 'CASCADE');
那么我做错了什么?
【问题讨论】:
-
您是否在添加表之后添加外键?确保表
tbl_profile和tbl_user存在并且拼写正确。另外,试试不带前缀tbl_。 -
@Martijn Hols ,当我运行 yiic migrate 时,首先创建 tbl_user 表,然后创建 tbl_profile,在创建 tbl_profile 时我立即创建 FK。从我的旧项目中复制的代码,其中迁移与表前缀一起正常工作。
标签: php mysql yii foreign-keys database-migration