ホームページ >データベース >mysql チュートリアル >MySQL エラー 1005: 主キーを外部キーにすることはできますか? 外部キー制約の問題を解決するにはどうすればよいですか?

MySQL エラー 1005: 主キーを外部キーにすることはできますか? 外部キー制約の問題を解決するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-05 20:31:11312ブラウズ

MySQL Error 1005: Can a Primary Key Be a Foreign Key, and How Do I Fix Foreign Key Constraint Issues?

MySQL 外部キー エラー 1005: 主キーが外部キーである

主キーは外部キーにもなれますか?

いいえ、MySQL では主キーを外部キーとして定義することはできません。主キーはテーブル内のレコードを一意に識別し、外部キーは別のテーブル内のレコードを参照します。これら 2 つのロールを組み合わせると、循環制約が発生します。

エラー コード 1005: テーブルを作成できません

エラー 1005: テーブル 'dbimmobile.condoni' を作成できません (errno) : 150)」は、外部キーの問題により MySQL がテーブルを作成できないことを示しますconstraints.

Missing Index on Referenced Table

「テーブル dbimmobilei/valutazionimercato の外部キー制約のエラー」というメッセージは、インデックスの欠落が問題の原因であることを示しています。 MySQL では、参照されるテーブルに外部キーで指定されたカラムをカバーするインデックスが必要です。

解決策

カラム (ComuneImmobile、ViaImmobile) のインデックスを参照テーブル (dbimmobile.Immobile) に作成します。 、CivicoImmobile、InternoImmobile):

CREATE INDEX ix_ComuneViaCivicoInterno ON dbimmobili.Immobile (ComuneImmobile, ViaImmobile, CivicoImmobile, InternoImmobile);

このインデックスは、 dbimMobili.condoni テーブルが参照するときに、MySQL が dbimmobile.Immobile テーブル内で一致するレコードを効率的に見つけられるようにします。

以上がMySQL エラー 1005: 主キーを外部キーにすることはできますか? 外部キー制約の問題を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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