MySQL エラー番号 150: 外部キー制約の失敗
外部キー制約を作成しようとすると、エラー番号 150 が発生する場合があります。外部キー制約は、別のテーブルのフィールドを参照し、参照先のフィールドが強制的に存在するようにすることで、データの整合性を確保します。ソーステーブル。
潜在的な原因: データ型の不一致
エラー番号 150 の一般的な原因の 1 つは、子テーブル内の参照される列間のデータ型の不一致です (セクション) と参照テーブルの主キー列(Instructors).
例:
create TABLE Instructors ( ... ID int(10), ... );
create table Sections ( ... Instructor_ID varchar(10), ... FOREIGN KEY (Instructor_ID) REFERENCES Instructors(ID) ... );
この例では、Instructors テーブルの ID 列は整数として定義され、Instructor_ID はSections テーブルの列は文字列として定義されます。このデータ型の違いにより、外部キー制約が確立されません。
解決策:
この問題を解決するには、両方の参照列のデータ型が同じであることを確認します。テーブルが一致します。上記の例では、Instructor_ID を整数データ型に変更します:
create table Sections ( ... Instructor_ID int(10), ... );
その他の潜在的な原因:
以上がMySQL エラー 150: 外部キー制約の失敗が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。