无法在laravel迁移中创建关系

无法在laravel迁移中创建关系,laravel,foreign-keys,database-migration,Laravel,Foreign Keys,Database Migration,我试图在members表中的“user_id”和users表中的“id”之间建立关系。获取错误号:150“外键约束格式不正确”。我正在将users表迁移到members表之前 $table->integer('user_id')->unsigned()->nullable(); $table->foreign('user_id')->references('id')->on('users'); 您的语法是正确的,因此可能是以下几个问题之一: 您的use

我试图在members表中的“user_id”和users表中的“id”之间建立关系。获取错误号:150“外键约束格式不正确”。我正在将users表迁移到members表之前

$table->integer('user_id')->unsigned()->nullable();
   $table->foreign('user_id')->references('id')->on('users');

您的语法是正确的,因此可能是以下几个问题之一:

  • 您的
    users
    表实际上没有被称为
    users
  • 实际上,您在用户迁移之前创建了成员迁移,然后返回并编辑了成员迁移。Laravel按照文件名中时间戳的顺序运行迁移,因此您需要编辑成员迁移的文件名,或者创建一个包含外键定义的新迁移
  • 您正在尝试在现有数据库的顶部运行现有迁移。运行
    php artisan migrate:refresh
    将所有内容回滚并重新运行请注意,这将销毁所有数据,因此请确保它位于测试环境中

  • 检查用户表ID的域是否尝试了
    unsignedbiginger()
    ?默认用户表迁移使用一个大的int作为ID,而不是普通的int。