MySQL Errno 150: 外部キー エラーのトラブルシューティング
MySQL で外部キー制約を作成すると、悪名高い「Errno 150」が発生する可能性があります。エラー。この記事は、このエラーの根本原因を特定し、解決策を提供することを目的としています。
エラー メッセージは通常、外部キー宣言内の無効な参照が原因で「テーブルを作成できません」を示します。これは、参照される列のデータ型が一致しない場合に発生する可能性があります。
指定されたスクリプトでは、Courses テーブルと Instructors テーブルを参照する外部キーを使用して Sections テーブルが定義されています。注意深く調べると、参照される列のデータ型が一致していることがわかります。両方のテーブルの Course_Code は varchar(10)、両方のテーブルの ID は varchar(10) です。
ただし、簡単に確認できる重要な詳細があります。見落とされているのは、基礎となるデータ型です。 varchar データ型は同じように見えますが、文字の長さを変えることができます。これは、Instructors テーブルの ID 列には、Courses テーブルの Course_Code 列の文字数とは異なる文字数の値が格納される可能性があることを意味します。
Errno 150 エラーを解決するには、参照される列の値が同一であることを確認してください。文字長や特殊な属性 (符号なしやゼロフィルなど) を含む、基礎となるデータ型。データ型の正確な一致を保証することで、有効な外部キー関係を確立し、この一般的な MySQL エラーを解決できます。
以上がMySQL エラー番号 150: 外部キー制約を作成できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。