MySql でエラー 150 が発生しました: 外部キーの解読の問題
別のテーブルを参照する外部キーを持つテーブルを作成しようとすると、開発者は次のような問題に遭遇する可能性があります。エラー 150、その不可解なメッセージで彼らを困惑させます。この記事では、このエラーの根本的な原因を詳しく調べ、解決策を提供します。
MySQL ドキュメントで詳しく説明されているように、以前に削除されたテーブルを再作成するときに、それを参照する外部キー制約に従っていない場合、エラー 150 が発生します。具体的には、テーブルは、最初に作成されたときと同じ列名、型、参照キーのインデックスを維持する必要があります。
この問題を解決するには、テーブルに外部キー (この場合は、 "foo") も InnoDB テーブルとして作成されます。 MySQL のドキュメントによると、外部キー関係に関係する両方のテーブルは、一時テーブルではなく InnoDB テーブルである必要があります。
したがって、エラーを修正するには、次のコマンドを使用して、「foo」テーブルを InnoDB テーブルとして再作成してみてください。 query:
CREATE TABLE foo ( id INT PRIMARY KEY ) ENGINE = InnoDB;
「foo」テーブルが InnoDB テーブルとして作成されると、次のコマンドを使用して「bar」テーブルを正常に作成できるはずです。エラー 150 が発生することなく外部キーを参照できます。
以上がMySQL エラー 150: この外部キーを作成できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。