2017-08-15 105 views
0

我无法弄清楚什么即时通讯做错了,但一切看起来不错,是给我这个errroof约束使用数据库迁移外键

Foreign key constraint is incorrectly formed 
我的迁移

,但我没有看到任何问题。

迁移表1:

public function up() 
    { 
     Schema::create('candidate_industries', function (Blueprint $table) { 
      $table->increments('id'); 

      $table->integer('candidate_id')->unsigned(); 

      $table->foreign('candidate_id')->references('id')->on('candidates'); 

      $table->integer('industry_id')->unsigned(); 

      $table->foreign('industry_id')->references('id')->on('industries'); 
     }); 
    } 

迁移数2:

public function up() 
    { 
     Schema::create('candidate_regions', function (Blueprint $table) { 
      $table->increments('id'); 

      $table->integer('candidate_id')->unsigned(); 

      $table->foreign('candidate_id')->references('id')->on('candidates'); 

      $table->integer('region_id')->unsigned(); 

      $table->foreign('region_id')->references('id')->on('regions'); 


     }); 
    } 
+0

请检查您的迁移文件的执行顺序。带有外键列的表不能在它引用的表之前创建。 –

+0

它不是我的情况,表格im引用已经创建 –

+0

更好地发布“候选人”,“行业”的代码,并且还提到可能有用的执行顺序。 –

回答

0

的问题是,因为 “考生” id列有一个不同的dataType集,在我的情况是BigInt有当我试图与int列创建关系。