ホームページ >データベース >mysql チュートリアル >MySQL エラー 1005 および 150: テーブルを作成できないのはなぜですか?

MySQL エラー 1005 および 150: テーブルを作成できないのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-30 22:30:13331ブラウズ

MySQL Error 1005 & 150: Why Can't I Create My Tables?

MySql エラー 1005: テーブルを作成できません - エラー 150 の原因を明らかにする

2 つのテーブル、特に ' を定義しようとしましたfoo' と 'bar'、エラー メッセージがプロセスを悩ませ、問題を示唆します。とらえどころのない「エラー 150」。 MySQL の領域に足を踏み入れて、隠された原因を明らかにし、このコードの難問の背後にある謎を解き明かしてみましょう。

詳しく調べてみると、どちらのクエリにも明らかなエラーがないことがわかります。ただし、付随するエラー メッセージは、そうでないことを示唆しています。エラー メッセージを注意深く調べると、エラー 150 への参照に遭遇します。MySQL ドキュメントを深く掘り下げると、FOREIGN KEY 制約の概念に遭遇します。

FOREIGN KEY 制約のコンテキスト内で、興味深いメモがあります。 「削除されたテーブルを再作成する場合、そのテーブルには、参照する外部キー制約に準拠する定義が必要です」 それ。"この発見により、私たちはこのエラーに至った状況を詳しく調査することになりました。再作成されるテーブル (この例では「foo」) が、外部キー制約で必要な列名、データ型、インデックス定義に従っていることが重要です。これらの仕様から逸脱すると、MySQL がエラー 1005 を発行し、エラー 150 への参照が発生する可能性があります。

エラー メッセージと MySQL ドキュメントから収集した洞察を考慮すると、「foo」が原因である可能性が疑われます。 InnoDB ストレージ エンジンを使用して作成されていない可能性があります。ドキュメントを確認すると、この疑いが確認されます。「両方のテーブルは InnoDB テーブルである必要があり、TEMPORARY テーブルであってはなりません。」

'foo' と 'bar' の両方が確かに InnoDB テーブルであることを確認し、 TEMPORARY テーブルを使用すると、この潜在的なエラーの原因を排除できます。他の要因もエラー 150 の原因となる可能性があることは注目に値しますが、この特定のシナリオは提供された情報と完全に一致しています。

以上がMySQL エラー 1005 および 150: テーブルを作成できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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