SQLSTATE [HY000]:一般错误:1005无法创建表`business`.`users`错误号:150“外键约束格式不正确”Laravel 7

问题描述

我需要在用户(从laravel 7 auth脚手架创建)和类别之间创建一对多关系。 但是,当我运行迁移时,出现此错误: 迁移:2014_10_12_000000_create_users_table

Illuminate \ Database \ QueryException

SQLSTATE [HY000]:常规错误:1005无法创建表businessusers(错误号:150“外键约束格式不正确”)(SQL:更改表{{1} }在删除级联上添加约束users外键(users_category_id_foreign)引用category_idcatgories

这是用户架构:

id

这是类别的开启:

Schema::create('users',function (Blueprint $table) {
        $table->id();
        $table->unsignedBigInteger('category_id');
        $table->string('name');
        $table->string('email')->unique();
        $table->timestamp('email_verified_at')->nullable();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();

        $table->foreign('category_id')->references('id')->on('catgories')
        ->onDelete('cascade');

    });

我进行了一些搜索,发现造成这种错误的原因有两个,第一是类别表迁移应在用户表一个之前完成,第二个原因是类别表上的类别ID数据类型用户架构和类别中的ID之一必须相同,我验证了这两个条件,但仍收到相同的错误。 如果有人可以告诉我怎么了,我将非常感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)