ホームページ  >  記事  >  データベース  >  外部キー制約エラー 1215 が発生するのはなぜですか?

外部キー制約エラー 1215 が発生するのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-25 09:57:11668ブラウズ

Why Am I Getting a Foreign Key Constraint Error 1215?

外部キー制約エラー: 1215

外部キー制約を使用してデータベース テーブルを作成しようとすると、エラー コード 1215 が発生することがあります。これは、外部キー制約の追加に関する問題を示しています。多くの場合、データ型の不一致が原因です。

詳細な分析:

エラー メッセージは、外部キー列 classLeader がデータ型が一致しないため、クラス テーブルは Student テーブルの主キー StudentID を参照できません。提供されたデータベース設定では、classLeader は VARCHAR (文字列) タイプですが、studentID は INT (整数) タイプです。外部キー参照には、データの整合性を検証するために一致するデータ型が必要です。

代替案:

エラーを解決するには、classLeader のデータ型を INT に変更するか、その逆に変更する必要があります。ビジネス要件に応じて。実際の生徒名を classLeader に保存することが重要な場合は、追加の結合テーブル、または生徒テーブルの firstName 列と lastName 列の一意のインデックスを使用して、データの一貫性を確保できます。

外部キーによるテーブルの入力:

外部キー制約を持つテーブルには、特定の入力順序があります。主テーブル (学生) は、参照テーブル (クラス) が入力される前に入力される必要があります。そうしないと、外部キー制約違反が発生します。クラス テーブルにデータを入力するとき、classLeader 値は Student テーブル内の有効な StudentID を参照する必要があります。

外部キーの性質:

外部キーは主キーでも一意キーでもありません。彼ら自身。これらは 2 つのテーブル間の関係を確立するために使用され、データの整合性が損なわれないようにします。この場合、classLeader 外部キーにより、すべてのクラスに有効な StudentID が割り当てられ、2 つのテーブル間のデータの一貫性が維持されます。

以上が外部キー制約エラー 1215 が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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