ホームページ >データベース >mysql チュートリアル >MySQL データベースに「リンク」テーブルを作成できないのはなぜですか?

MySQL データベースに「リンク」テーブルを作成できないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-30 07:16:181003ブラウズ

Why Can't I Create the 'Link' Table in My MySQL Database?

エラー: テーブル 'aquaticstar.link' を作成できません

転送中にエラー「エラー 1005: テーブル 'aquaticstar.link' を作成できません」が発生しましたエンジニアリングはイライラするかもしれません。根本原因を調査し、解決策を見つけてみましょう。

このエラー メッセージは、MySQL が「aquaticstar」データベース内に「Link」という名前のテーブルを作成できないことを示しています。このエラーの原因の 1 つは、データベース内に同じ名前のテーブルがすでに存在している可能性があることです。これを確認するには、次の SQL クエリを実行します。

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Link';

クエリが結果を返した場合、「Link」という名前のテーブルがすでに存在していることを意味します。その場合、既存のテーブルを削除するか、新しいテーブルに別の名前を選択することができます。

ただし、クエリが結果を返さなかった場合は、テーブル 'Link' がデータベースに存在しないことを示します。 。このシナリオでは、潜在的な問題を特定するために、提供された SQL スクリプトを調査する必要があります。

スクリプトを確認すると、「Link」テーブルに「id」に対する FOREIGN KEY 制約があることがわかります。 「Students」テーブルを参照する列。同様に、「Schedule」テーブルを参照する「lesson_id」列に別の FOREIGN KEY 制約があります。

「Students」テーブルまたは「Schedule」テーブルがデータベースに存在しない可能性があります。 「Link」テーブルを作成する前にこれらのテーブルを作成するには、次の SQL ステートメントを実行します。

CREATE TABLE Students (
  id VARCHAR(10) NOT NULL,
  studentName VARCHAR(45) NOT NULL,
  gender CHAR NOT NULL,
  birthDate DATETIME NOT NULL,
  mNo VARCHAR(10) NOT NULL,
  contactName VARCHAR(45) NOT NULL,
  contactEmail VARCHAR(45) NOT NULL,
  contactPhone INT(10) NOT NULL,
  startDate DATETIME NOT NULL,
  remarks VARCHAR(200) NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB;

CREATE TABLE Schedule (
  lesson_id VARCHAR(10) NOT NULL,
  day VARCHAR(3) NOT NULL,
  branch VARCHAR(30) NOT NULL,
  level VARCHAR(30) NOT NULL,
  time TIME NOT NULL,
  ae VARCHAR(45) NOT NULL,
  PRIMARY KEY (lesson_id)
) ENGINE=InnoDB;

これらのテーブルを作成した後、スクリプトを再度実行して「Link」テーブルを作成してみることができます。それでも同じエラーが発生する場合は、関連するテーブルの構造と制約をチェックして、予想される動作と一致していることを確認することをお勧めします。

以上がMySQL データベースに「リンク」テーブルを作成できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。