任何人都可以幫我解決這個問題嗎?laravel errno 150外鍵約束不正確
有3和表2個的外鍵:
運行遷移後 Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
Schema::create('firms', function (Blueprint $table) {
$table->increments('id');
$table->string('title')->nullable();
$table->integer('user_id')->unsigned()->nullable();
$table->foreign('user_id')->references('id')->on('users');
$table->timestamps();
});
Schema::create('jobs', function (Blueprint $table) {
$table->increments('id');
$table->string('title')->nullable();
$table->integer('firm_id')->unsigned()->nullable();
$table->foreign('firm_id')->references('id')->on('firms');
$table->timestamps();
});
錯誤:
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1005 Can't create table `job`.`#sql-5fc_a1`
(errno: 150 "Foreign key constraint is incorrectly formed") (SQL: alter ta
ble `firms` add constraint `firms_user_id_foreign` foreign key (`user_id`)
references `users` (`id`))
[PDOException]
SQLSTATE[HY000]: General error: 1005 Can't create table `job`.`#sql-5fc_a1`
(errno: 150 "Foreign key constraint is incorrectly formed")
對不起,它不工作:Schema :: create('firm',function(Blueprint $ table){table-> increments('id ') - > unsigned(); Schema :: create('jobs',function(Blueprint $ table){ $ table-> increments('id'); $ table-> integer('firm_id') - > unsigned (); $ table-> foreign('firm_id') - > references('id') - > on('firm'); – Yrtymd
並且這不起作用:Schema :: create('firm',function (藍圖$ table){ $ table-> increment('id'); Schema :: create('jobs',function(Blueprint $ table){ $ table-> increments('id'); $ table->整數('firm_id'); $ table-> foreign('firm_id') - >引用('id') - > on('firm'); – Yrtymd