ホームページ > データベース > mysql チュートリアル > MySQL が「外部キー制約の形式が正しくありません」エラーをスローするのはなぜですか? それを修正するにはどうすればよいですか?

MySQL が「外部キー制約の形式が正しくありません」エラーをスローするのはなぜですか? それを修正するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-19 05:54:10
オリジナル
215 人が閲覧しました

Why Does MySQL Throw a

MySQL 外部キー制約エラー: 型が一致しません

MySQL では、テーブル table1 と table2 の間に外部キー制約を確立しようとすると、「外部キー制約の形式が正しくありません」というエラーが発生することがあります。この制約は、参照整合性を確保するために、table2 の列 IDFromTable1 を table1 の列 ID にリンクするように設計されています。

両方のテーブルが InnoDB ストレージ エンジンを使用し、列のデータ型が char 型であるにもかかわらず、エラーは依然として存在します。問題の原因は列プロパティの違いです。

具体的には、外部キー列 IDFromTable1 と参照される列 ID のデータ型または長さが異なります。この問題を解決するには、外部キー関係に関与する対応する列のデータ型と長さがまったく同じであることを確認する必要があります。

この例では、外部キー列は SMALLINT(5) UNSIGNED として定義され、参照される列は INT(10) UNSIGNED です。この型の不一致は、列属性を調整することで解決され、外部キー制約が正常に確立されます。

以上がMySQL が「外部キー制約の形式が正しくありません」エラーをスローするのはなぜですか? それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート