ホームページ >データベース >mysql チュートリアル >MySQL エラー 150: 外部キー制約の問題が発生するのはなぜですか?
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 サイトの他の関連記事を参照してください。