ホームページ > データベース > mysql チュートリアル > 主キーを参照する外部キーを作成すると、MySQL 外部キー エラー 1005 が発生するのはなぜですか?

主キーを参照する外部キーを作成すると、MySQL 外部キー エラー 1005 が発生するのはなぜですか?

Barbara Streisand
リリース: 2024-12-26 12:31:10
オリジナル
211 人が閲覧しました

Why am I getting MySQL Foreign Key Error 1005 when creating a foreign key referencing a primary key?

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

主キーを参照する外部キーの作成は、一般に推奨されません。パフォーマンスの問題やデータの整合性が発生する可能性があります

外部キーとしての主キー

外部キーでもある主キーを作成することは可能ですが、一般的な方法ではありません。これを行うと、他のテーブルから参照できなくなるため、外部キー テーブルの柔軟性が制限されることになります。

エラー 1005

発生しているエラー、 「エラー 1005: テーブル 'dbimmobile.condoni' を作成できません (エラー番号: 150)」は、MySQL がテーブルを作成できないことを示します

インデックスがありません

エラー メッセージに記載されているように、MySQL では外部キー制約のために参照テーブルと参照テーブルの両方に使用可能なインデックスが必要です。この場合、参照先テーブルの主キーにインデックスが作成されていないようです。

解決策

この問題を解決するには、参照先テーブルが次のように設定されていることを確認してください。 dbimmobileli.Immobile には、主キー列 (ComuneImmobile、ViaImmobile、CivicoImmobile、および) にインデックスが作成されています。インターノインモービレ。インデックスを作成したら、変更を正常にエクスポートできるはずです。

以上が主キーを参照する外部キーを作成すると、MySQL 外部キー エラー 1005 が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート