概要
外部キーの参照をしたいのですが、下記に記載のエラーが表示されます。
また、userテーブルのidを主キーとしているst_idのみでmigrationをするとエラーが出ず、ht_idを記入してmigrationをすると、エラーが発生するので、st_idの外部キー設定は合っていてhr_idの外部キー設定が間違っていると予測しています。しかし、何が間違っているのかが分かりません。
また、hr_idのカラムを消してmigrationしたときの結果を以下に添付しておきます。
エラー内容
SQLSTATE[HY000]: General error: 1005 Can't create table `mensetsu_zukan`.`videos` (errno: 150 "Foreign key constraint is incorrectly formed") (SQL: alter table `videos` add constraint `videos_hr_id_foreign` foreign key (`hr_id`) references `hr_users` (`id`) on delete no action)
このエラーを検索したところ、このサイトが出てきたので、このサイトに従った修正はしてあるはずです。
テーブル定義
database\migrations\2014_10_12_000000_create_users_table.php
1 public function up() 2 { 3 Schema::create('users', function (Blueprint $table) { 4 $table->increments('id'); 5 $table->string('email')->unique(); 6 $table->timestamp('email_verified_at'); 7 $table->string('password'); 8 $table->rememberToken(); 9 $table->timestamps(); 10 });
database\migrations\2021_03_24_011505_create_hr_users_table.php
1 public function up() 2 { 3 Schema::create('hr_users', function (Blueprint $table) { 4 $table->increments('id'); 5 $table->string('name'); 6 $table->string('email')->unique(); 7 $table->timestamp('email_verified_at'); 8 $table->string('password'); 9 $table->rememberToken(); 10 $table->timestamps(); 11 }); 12 }
database\migrations\2021_03_22_093546_create_videos_table.php
1 public function up() 2 { 3 Schema::create('videos', function (Blueprint $table) { 4 $table->increments('id'); 5 $table->integer('st_id')->unsigned(); 6 $table->integer('hr_id')->unsigned(); 7 $table->timestamps(); 8 9 $table->foreign('st_id')->references('id')->on('users')->onDelete('no action'); 10 //$table->foreign('hr_id')->references('id')->on('hr_users')->onDelete('no action'); 11 }); 12 }
実現したい親子関係
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー