ホームページ > データベース > mysql チュートリアル > 外部キー制約が正しく形成されないのはなぜですか?

外部キー制約が正しく形成されないのはなぜですか?

DDD
リリース: 2025-01-19 05:45:10
オリジナル
355 人が閲覧しました

Why is My Foreign Key Constraint Incorrectly Formed?

データベース外部キー制約エラー: データ型と長さが一致しません

テーブル間の外部キー関係では、関連する列のデータ型と長さが一貫していないことが原因で、「外部キー制約の形式が不正です」エラーが発生する可能性があります。

このエラーを解決するには、次の条件が満たされていることを確認してください:

  1. データ型の一致: 表 2 の外部キー列 (IDFromTable1) のデータ型は、表 1 の参照される列 (ID) のデータ型と同じである必要があります。この例では、両方の列が CHAR 型として指定されています。それらの型が異なる場合 (たとえば、INT と VARCHAR)、外部キー制約は効果がありません。
  2. 等しい長さ: 両方の列が文字 (CHAR/VARCHAR) データ型である場合、それらの長さ (文字数) も同じである必要があります。指定された例では、IDFromTable1 が CHAR(5) として定義され、ID が CHAR(10) として定義されている場合、外部キー制約の作成は「不正な形式」エラーで失敗します。

これらの問題を解決し、外部キーと参照列のデータ型と長さが一致していることを確認することで、外部キー関係を正しく確立でき、期待どおりのカスケード削除操作が可能になります。

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

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