cakephp迁移-常规错误:1215无法添加外键约束

pexxcrt2  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(313)

在某些迁移中创建外键时遇到问题。
我有以下几点:
20180926184217\课程.php

public function change()
{
    $table = $this->table('courses', ['id' => true, 'primary_key' => ['id']]);
    $table
        ->addColumn('name', 'string', ['default' => null, 'limit' => 150, 'null' => false])
        ->addColumn('town', 'string', ['default' => null, 'limit' => 50, 'null' => true])
        ->create();
}

20180926191546\ U记分卡.php

public function change()
{
    $table = $this->table('scorecards', ['id' => true, 'primary_key' => ['id']]);
    $table
        ->addColumn('course_id', 'integer', ['default' => null, 'limit' => 10, 'null' => false])
        ->addColumn('description', 'string', ['default' => null, 'limit' => 255, 'null' => true])
        ->addColumn('tee', 'string', ['default' => null, 'limit' => 15, 'null' => false])
        ->addForeignKey('course_id', 'courses', 'id', ['delete' => 'SET_NULL', 'update' => 'NO_ACTION', 'constraint' => 'fk_scorecard_course'])
        ->create();
}

当我跑的时候 bin/cake migrations migrate 我得到以下错误:
异常:sqlstate[hy000]:常规错误:1215无法在[*/vendor/robmorgan/phinx/src/phinx/db/adapter/pdoadapter.php,第167行]2018-09-26 19:12:50错误:[pdoexception]sqlstate[hy000]:常规错误:1215无法在第167行的*/vendor/robmorgan/phinx/src/phinx/db/adapter/pdoadapter.php中添加外键约束
有人能帮忙吗?我在这里看过其他答案,似乎没有任何帮助。
戴夫

2hh7jdfx

2hh7jdfx1#

当列不可为null时,不能在删除操作上设置\u null。更改代码,就可以进行迁移了。

相关问题