【问题标题】:Yii2 - migration, a foreign key constraint failsYii2 - 迁移,外键约束失败
【发布时间】:2017-01-17 21:09:34
【问题描述】:

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

$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', 约束 'fk_presentation_place_user_id' FOREIGN KEY ('user_id') REFERENCES 'user' ('id') ON DELETE CASCADE ON 更新级联)

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

【问题讨论】:

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


    【解决方案1】:

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

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

    defaultValue(ALREADY_EXISTING_ID)
    

    【讨论】:

    • 哇,我不相信它会起作用,但它确实解决了我的问题。我的意思是默认值()。谢谢佐尔坦! :)
    猜你喜欢
    • 2016-01-20
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 2013-03-04
    • 2016-08-17
    • 2011-11-03
    相关资源
    最近更新 更多