質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1458閲覧

Laravel8 中間テーブルが作れません

mentanpin69

総合スコア20

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2022/05/04 03:09

前提

usersテーブルとdchatテーブル(postテーブルみたいな)の
中間テーブルをmigrateしようとするとエラーが出てしまいます

考えられる原因が知りたいです

バージョンはlaravel8です

中間テーブルのコード

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('dchat_user', function (Blueprint $table) { $table->id(); $table->unsignedBigInteger('user_id'); $table->unsignedBigInteger('dchat_id'); $table->timestamps(); $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); $table->foreign('dchat_id')->references('id')->on('dchats')->onDelete('cascade'); $table->unique(['user_id' , 'dchat_id']); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('dchat_user'); } };

エラーコード

SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'dchat_user' already exists (SQL: create table `dchat_user` (`id` bigint unsigned not null auto_increment primary key, `user_id` bigint unsigned not null, `dchat_id` bigint unsigned not null, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci') {省略} database/migrations/2022_05_03_183006_create_dchat_user_table.php:25 Illuminate\Support\Facades\Facade::__callStatic("create")

もしよろしければご教授いただけないでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

hrk2178にご指摘いただいた通りに
php artisan migrate:freshで解決しました!

投稿2022/05/10 12:28

mentanpin69

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'dchat_user' already exists (SQL: create table `...

テーブル 'dchat_user' は既に存在するからcreateできないよ、って言っています。

翻訳サイトを使っても良いですが、エラーメッセージを読めるだけの簡単な英語力は必要です。

投稿2022/05/04 03:14

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mentanpin69

2022/05/04 03:42 編集

Orlofskyさん返信ありがとうございます。 テーブル 'dchat_user' は既に存在するからcreateできない -> 存じ上げていたのですが DBに’dchat_user'テーブルがなく他に原因があるのではと思い 質問させていただきました この場合解決策としてはdchatsテーブルとdchat_userテーブルの テーブル名を変更するのがいいのでしょうか
hrk2178

2022/05/04 12:39

昔migrateした後マイグレーションファイルだけ誤って削除し、新しく作り直したりしていませんか? 一度php artisan migrate:status で出てくるテーブルの状態を確認してみてください。 php artisan migrate:fresh:すべてのテーブルを削除後migrateし直すというコマンド や php artisan migrate:rollbackでmigrateする前の状態に戻してみてください。 上記のコマンドはマイグレーションファイルが消えるわけではなく、データベースないのテーブルを消したりしているのでファイルさえあればまた作成できます。 上の人が心無いことをおっしゃっていますが分からないことを聞きに来ているのに教えてもらえないってなんのためにこのアプリが存在していると思っているのでしょうか・・ ともかくおそらくSQLではなくlaravelの機能的な問題だと思われますので、ご助力できればと思います。
mentanpin69

2022/05/10 12:25

hrk2178さんご返信ありがとうございます。 気づくのが遅れてしまい大変申し訳ございません ご指摘の通りphp artisan migrate:freshで解決することができました。 本当に助かりました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問