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

テーブル「aquaticstar.link」を作成できないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-29 20:14:14210ブラウズ

Why Can't I Create Table 'aquaticstar.link'?

テーブル 'aquaticstar.link' を作成できません (エラー番号: 121)

このエラーは、存在しないテーブルまたは列を参照する外部キー制約。この場合、リンク テーブルには次の外部キー制約が含まれます:

  1. FOREIGN KEY (id) REFERENCES Students (id)
  2. FOREIGN KEY (lesson_id) REFERENCES Schedule (lesson_id)

提供された SQL スクリプトを詳しく調べると、次のようになります。 Students テーブルと Schedule テーブルの両方が存在し、適切に定義されていることは明らかです。ただし、エラー メッセージは、外部キー制約の 1 つに問題があるため、リンク テーブルを作成できないことを示しています。

この問題を解決するには、次の条件が満たされていることを確認してください:

  • Students テーブルと Schedule テーブルがデータベースに存在します。
  • Students テーブルには、プライマリとして機能する id という名前の列が含まれています。 key.
  • スケジュール テーブルには、主キーとして機能するlesson_idという名前の列が含まれています。

これらの条件がすべて満たされる場合、問題は SQL スクリプト自体にある可能性があります。リンク テーブル定義の外部キー制約のスペルと構文を再確認してください。

さらに、次の SQL クエリを実行して、参照されるテーブルと列の存在を確認してください:

SELECT
    *
FROM
    INFORMATION_SCHEMA.TABLES
WHERE
    TABLE_NAME IN ('Students', 'Schedule');

SELECT
    *
FROM
    INFORMATION_SCHEMA.COLUMNS
WHERE
    TABLE_NAME IN ('Students', 'Schedule')
    AND COLUMN_NAME IN ('id', 'lesson_id');

これらのクエリの出力で、必要なテーブルと列が存在することが確認された場合、問題は権限の問題に関連している可能性があります。 SQL スクリプトを実行するユーザーが、テーブルを作成し、外部キー関係を確立するために必要な権限を持っていることを確認してください。

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

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