[解決済み】マイグレーション。外部キー制約を追加できない
2022-04-03 17:04:27
質問
Laravelで外部キーを作成しようとしているのですが、テーブルをマイグレートする際に
artisan
次のようなエラーが発生します。
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL
: alter table `priorities` add constraint priorities_user_id_foreign foreign
key (`user_id`) references `users` (`id`))
私のマイグレーションコードは以下の通りです。
優先マイグレーションファイル
public function up()
{
//
Schema::create('priorities', function($table) {
$table->increments('id', true);
$table->integer('user_id');
$table->foreign('user_id')->references('id')->on('users');
$table->string('priority_name');
$table->smallInteger('rank');
$table->text('class');
$table->timestamps('timecreated');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
Schema::drop('priorities');
}
ユーザー移行ファイル
public function up()
{
//
Schema::table('users', function($table)
{
$table->create();
$table->increments('id');
$table->string('email');
$table->string('first_name');
$table->string('password');
$table->string('email_code');
$table->string('time_created');
$table->string('ip');
$table->string('confirmed');
$table->string('user_role');
$table->string('salt');
$table->string('last_login');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
Schemea::drop('users');
}
ユーザー、クライアント、プロジェクト、タスク、ステータス、優先度、タイプ、チームなど、作成する必要のあるテーブルがたくさんあるので、今すぐこれを取得したいのですが、何が間違っていたのか、何かアイデアはありますか?理想的には、これらのデータを保持するテーブルを外部キーで作成したいのです。
clients_project
と
project_tasks
などです。
誰かが私を助けることができることを願っています。
どのように解決するのですか?
2ステップで追加し、符号なしにもすると良い。
public function up()
{
Schema::create('priorities', function($table) {
$table->increments('id', true);
$table->integer('user_id')->unsigned();
$table->string('priority_name');
$table->smallInteger('rank');
$table->text('class');
$table->timestamps('timecreated');
});
Schema::table('priorities', function($table) {
$table->foreign('user_id')->references('id')->on('users');
});
}
関連
-
[解決済み】「お客様の要件はインストール可能なパッケージのセットに解決できませんでした」エラーの解決方法は?
-
[解決済み] htmlentities() はパラメータ 1 が文字列であることを予期しており、オブジェクトが与えられている
-
laravelがWhoopsでサーバーにアップロード、何かが間違っていたようです。
-
[解決済み] のエラーが発生しました。OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054 [重複].
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] T-SQLを使用して外部キー制約を一時的に無効にするにはどうすればよいですか?
-
[解決済み] MySQL エラー 1215。外部キー制約を追加できません
-
[解決済み】Laravel - Eloquent "Has", "With", "WhereHas" - これらの意味は何ですか?
-
[解決済み】Eloquent Collection。空白のカウントと検出
-
[解決済み】MySQLで外部キー制約を追加できない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「お客様の要件はインストール可能なパッケージのセットに解決できませんでした」エラーの解決方法は?
-
[解決済み] Class 'AppHttpControllers</DB' not found in Laravel 5 Controller
-
[解決済み] エラーベーステーブルまたはビューが見つかりませんを修正する方法:1146テーブルlaravelの関係テーブル?
-
[解決済み] 未定義のメソッドIlluminateFoundationApplication::bindShared()への呼び出し。
-
[解決済み] Laravel 5.4で `npm run watch` が動作しない。
-
[解決済み] Laravel Homesteadを使用しています。'入力ファイルが指定されていない'
-
[解決済み】PHP7:ext-domのインストール問題
-
[解決済み】laravelで「有効なキャッシュパスを指定してください」エラー
-
[解決済み】テーブルの最終行を選択する
-
[解決済み】Laravel ログイン後、元の宛先にリダイレクトする。