Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel:1215无法添加外键约束-迁移时_Php_Mysql_Laravel_Migration_Database Migration - Fatal编程技术网

Php Laravel:1215无法添加外键约束-迁移时

Php Laravel:1215无法添加外键约束-迁移时,php,mysql,laravel,migration,database-migration,Php,Mysql,Laravel,Migration,Database Migration,我有一个表类别,它有自己类型的父类 Schema::create('categories', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name'); $table->integer('parent_id')->unsigned()->nullable()->default(null); $

我有一个表类别,它有自己类型的父类

Schema::create('categories', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('name');
        $table->integer('parent_id')->unsigned()->nullable()->default(null);
        $table->foreign('parent_id')->references('id')->on('categories');
        $table->timestamps();
    });
抛出:

SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `categories` add constraint `categories_parent_id_foreign` foreign key (`parent_id`) references `categories` (`id`))

我已经尝试在单独的Schema::table函数中将parent_id设置为外来,但没有成功。表是InnoDB类型。

尝试将FK从整数更改为bigInteger:

$table->bigInteger('parent_id')->unsigned()->nullable()->default(null);


为什么要创建引用所创建表的FK?家长id应该参考家长表上的id,正如我在第一行中提到的,类别有类别H的家长,我的坏。我没看见。
$table->unsignedBigInteger('parent_id')->nullable()->default(null);