ホームページ  >  記事  >  データベース  >  MySQL がエラー 150: 外部キー参照型の不一致をスローするのはなぜですか?

MySQL がエラー 150: 外部キー参照型の不一致をスローするのはなぜですか?

DDD
DDDオリジナル
2024-11-19 18:06:03392ブラウズ

Why Does MySQL Throw Error 150: Foreign Key Reference Type Mismatch?

MySQL エラー 150: 外部キー参照型の不一致

複数のテーブルを含むデータベースを作成しようとしたときに、ユーザーがエラーに遭遇しました: "エラー コード: 1005。テーブル '336_project.sections' を作成できません (errno: 150)。このエラーは外部キーの使用に関連しています。

詳しく調べたところ、関連する列のデータ型が一致していないことが判明しました。この場合、「Sections」テーブルの「Course_Code」列は VARCHAR として定義され、「Courses」テーブルの対応する列は INT として定義されました。

MySQL では外部キーと主キーが必要です。関連テーブルのキーには一致するデータ型があります。このエラーは、外部キー制約の名前と構文が正しいように見えても、データ型が一致しない場合に発生します。

解決策:

このエラーを解決するには、親テーブルと子テーブルの関連する列のデータ型が同一であることを確認してください。この例では、「Sections」テーブルと「Courses」テーブルの両方の「Course_Code」列のデータ型を VARCHAR に変更する必要があります。

データ型が適切に一致すると、外部キー制約が次のようになります。適用され、テーブルの作成はエラーなしで成功します。

以上がMySQL がエラー 150: 外部キー参照型の不一致をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。