MySQL 外部キー制約エラー: 型が一致しません
MySQL では、テーブル table1 と table2 の間に外部キー制約を確立しようとすると、「外部キー制約の形式が正しくありません」というエラーが発生することがあります。この制約は、参照整合性を確保するために、table2 の列 IDFromTable1 を table1 の列 ID にリンクするように設計されています。
両方のテーブルが InnoDB ストレージ エンジンを使用し、列のデータ型が char 型であるにもかかわらず、エラーは依然として存在します。問題の原因は列プロパティの違いです。
具体的には、外部キー列 IDFromTable1 と参照される列 ID のデータ型または長さが異なります。この問題を解決するには、外部キー関係に関与する対応する列のデータ型と長さがまったく同じであることを確認する必要があります。
この例では、外部キー列は SMALLINT(5) UNSIGNED として定義され、参照される列は INT(10) UNSIGNED です。この型の不一致は、列属性を調整することで解決され、外部キー制約が正常に確立されます。
以上がMySQL が「外部キー制約の形式が正しくありません」エラーをスローするのはなぜですか? それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。