ホームページ >データベース >mysql チュートリアル >MySQL エラー 150: 外部キー制約の問題が発生するのはなぜですか?

MySQL エラー 150: 外部キー制約の問題が発生するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-27 17:20:14968ブラウズ

Why Am I Getting MySQL Error 150: Foreign Key Constraint Issues?

MySql エラー 150: 外部キー制約

クエリを実行して 2 つのテーブルを作成し、一方をもう一方の参照として作成すると、エラー メッセージが表示されます「エラー 1005 (HY000): テーブルを作成できません」を示します'./test/bar.frm' (errno: 150)."

MySQL の FOREIGN KEY 制約のドキュメントによると、外部キー制約によって参照される再作成されたテーブルがその制約に従っていない場合にエラーが発生します。意味。具体的には、再作成されたテーブルは以下の必要があります:

  • 正しい列名と型を持っている
  • 参照されたキーにインデックスがある

この場合、ドキュメントでは、テーブルの 1 つ「foo」が InnoDB テーブルとして作成されていないことが問題である可能性があることを示唆しています。これは、外部キー制約が TEMPORARY ではない InnoDB テーブル間でのみ確立できるためです。

ドキュメントには次のように記載されています。

Both tables must be InnoDB tables and they must not be TEMPORARY tables. 

したがって、エラーを解決するには、次のことを確認することをお勧めします。 「foo」テーブルは、「bar」テーブルに外部キー制約を確立する前に、InnoDB テーブルとして作成されます。

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

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