ホームページ >データベース >mysql チュートリアル >MySQL テーブルに外部キーを追加すると「エラー コード: 1005」が表示されるのはなぜですか?

MySQL テーブルに外部キーを追加すると「エラー コード: 1005」が表示されるのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-10 04:06:49840ブラウズ

Why Am I Getting

テーブルへの外部キー追加のトラブルシューティング

「katalog」という名前の既存のテーブルに外部キーを追加しようとすると、エラー メッセージが表示される場合があります。 「エラー コード: 1005。テーブルを作成できません」が発生します。 'mytable.#sql-7fb1_7d3a' (errno: 150)."

原因:

  • ALTER TABLE ステートメントの構文エラー: 提供された構文にはテーブルへの誤った参照が含まれていますkatalog.
  • 参照先テーブルへの参照が見つからないか無効です: 参照先テーブル (この場合は Sprache) が存在し、適切に一致する列 (この場合は ID)。
  • テーブルと参照列間の非互換性属性: 外部キー列と参照される列のデータ型と制約に互換性があることを確認します。

解決策:

  1. 正しいテーブル名を参照するように ALTER TABLE ステートメントの構文を修正してください。 katalog.
  2. 参照テーブル Sprache が、外部キー制約と一致する ID 列とともに存在することを確認します。
  3. 外部キー列 (この例では Sprache) のデータ型と制約を確認してください。の場合)参照先の列(Sprache の ID)の列と一致します。 table.

例:

外部キーを正常に追加するには、次の修正された ALTER TABLE ステートメントを使用します:

ALTER TABLE katalog
ADD CONSTRAINT `fk_katalog_sprache`
FOREIGN KEY (`Sprache`)
REFERENCES `Sprache` (`ID`)
ON DELETE SET NULL
ON UPDATE SET NULL;

以上がMySQL テーブルに外部キーを追加すると「エラー コード: 1005」が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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