ホームページ >データベース >mysql チュートリアル >MySQL で「テーブルを作成できません (エラー番号: 150)」エラーが発生するのはなぜですか?

MySQL で「テーブルを作成できません (エラー番号: 150)」エラーが発生するのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-20 02:39:09327ブラウズ

Why Am I Getting a MySQL

MySQL の「テーブルを作成できません (エラー番号: 150)」エラーの解決

SQL インポート中にテーブルを作成するときにエラー 150 が発生すると、混乱を招く可能性があります。この記事では、この問題の根本原因を掘り下げ、明確な理解と解決策を提供します。

問題分析

エラー「MySQL: テーブルを作成できません (エラー番号: 150)」は、インポートされたテーブルの定義が、それを参照する外部キー制約と競合する場合に発生します。これらの制約により、関連するテーブル間のデータの整合性が保証されます。

外部キー制約を確認します

このエラーを解決するには、外部キー制約の次の側面を確認してください:

  1. 列名と型は正しいですか: 新しく作成したテーブルの列名とデータ型が、親テーブルで参照されている列と同じであることを確認してください。
  2. インデックスが存在します: 作成中のテーブルの外部キーによって参照される列にインデックスがあることを確認します。適切なインデックスがないと、参照整合性が失われ、エラー 150 が発生します。

競合を解決する

テーブル定義と外部キー制約の違いを確認したら、予期される制約に準拠するようにテーブル定義を変更します。これには、欠落している列の追加、データ型の変更、または必要なインデックスの作成が含まれる場合があります。

その他の注意事項

  • テーブルを削除してから再作成する場合、外部キー制約の競合を避けるために、その定義は元のテーブルと同じである必要があります。
  • 外部キー制約を持つテーブルを変更する ALTER TABLE 操作でも、変更が制約の有効性に影響を与える場合、エラー 150 がトリガーされます。

以上がMySQL で「テーブルを作成できません (エラー番号: 150)」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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