Yii2 - 迁移,外键约束失败

时间:2017-01-17 12:56:35

标签: php model-view-controller yii2 database-migration

我使用迁移,像这样创建():

$this->addColumn('presentation_place', 'user_id', $this->integer()->notNull()->after('post_code'));
$this->addForeignKey('fk_presentation_place_user_id', 'presentation_place', 'user_id', 'user', 'id', 'CASCADE', 'CASCADE');

虽然yii / migrate我遇到了错误

  

无法添加或更新子行:外键约束失败   (' crm'。'#sql-1524_46f',CONSTRAINT' fk_presentation_place_user_id'   FOREIGN KEY(' user_id')参考'用户' (' id')ON DELETE CASCADE ON   更新CASCADE)

我不知道可能出现什么问题,我以前几次做过迁移,所以我真的很惊讶。

1 个答案:

答案 0 :(得分:2)

从错误消息我认为外键添加成功,但您在user和presentation_place中有行。

尝试使用空表运行此迁移,并设置引用表中存在的默认值

defaultValue(ALREADY_EXISTING_ID)