データベース外部キー制約エラー: データ型と長さが一致しません
テーブル間の外部キー関係では、関連する列のデータ型と長さが一貫していないことが原因で、「外部キー制約の形式が不正です」エラーが発生する可能性があります。
このエラーを解決するには、次の条件が満たされていることを確認してください:
-
データ型の一致: 表 2 の外部キー列 (IDFromTable1) のデータ型は、表 1 の参照される列 (ID) のデータ型と同じである必要があります。この例では、両方の列が CHAR 型として指定されています。それらの型が異なる場合 (たとえば、INT と VARCHAR)、外部キー制約は効果がありません。
-
等しい長さ: 両方の列が文字 (CHAR/VARCHAR) データ型である場合、それらの長さ (文字数) も同じである必要があります。指定された例では、IDFromTable1 が CHAR(5) として定義され、ID が CHAR(10) として定義されている場合、外部キー制約の作成は「不正な形式」エラーで失敗します。
これらの問題を解決し、外部キーと参照列のデータ型と長さが一致していることを確認することで、外部キー関係を正しく確立でき、期待どおりのカスケード削除操作が可能になります。
以上が外部キー制約が正しく形成されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。