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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-25 01:43:11784ブラウズ

Why Am I Getting a Foreign Key Constraint Error (Error Code 1215)?

外部キー制約エラー: エラー コード 1215

テーブルに外部キー制約を追加しようとすると、エラー コード 1215、"外部キー制約(外部キー)を追加できません」というエラーが発生する場合があります。このエラーは、参照される列と外部キー列の間のデータ型の不一致を示します。

エラー分析:

この例では、エラーはおそらく次の外部キー制約:

FOREIGN KEY (classLeader) REFERENCES student(studentID)

ここで、classLeader 列のデータ型は VARCHAR(255) ですが、参照される Student テーブルの StudentID 列のデータ型は INT です。参照される列と外部キーの列のデータ型は一致する必要があります。

代替解決策:

このエラーを解決するには、参照される列と外部キーの列のデータ型が一致していることを確認してください。マッチ。この場合、classLeader 列を、studentID 列と一致する INT のデータ型を持つように変更できます。

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

外部キー制約のあるテーブルでは、外部キー フィールドにデータを直接挿入できません。代わりに、最初にデータを参照先のテーブル (たとえば、student テーブル) に挿入する必要があります。その後、外部キー フィールド (classID など) に、参照されるテーブルからの対応する主キー値を入力できます。

キーとしての外部キー:

外部キーは次のとおりです。キーの一種、特に論理キーとみなされます。これらは主キーや一意キーではありませんが、テーブル間の関係を維持することでデータの整合性を確保する上で重要な役割を果たします。外部キーは参照整合性を強制し、子テーブル (クラスなど) のレコードが親テーブル (学生など) の対応するレコードを持つことを保証することで、データの不一致を防ぎます。

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

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