ホームページ >データベース >mysql チュートリアル >MySQL 外部キー エラー 1005: 主キーと外部キーの競合を解決するには?
外部キーとしての MySQL 主キー: エラーと解決策
MySQL で外部キー制約を定義する場合、参照テーブルが参照されるテーブルには適切なインデックスがあります。この要件により、あるテーブルの主キーを別のテーブルの外部キーとして使用するときに問題が発生する可能性があります。
外部キーとしての主キー
あなたが提起した最初の質問は次のとおりです。外部キーでもある主キーを作成できる場合。答えは「はい」です。可能ですが、制限があります。
エラー コード 1005
発生したエラー、エラー コード 1005 は、MySQL が外部ファイルを作成できないことを示しています。キー制約。これは、参照されるテーブル dbimmobile.Immobile に、外部キーで参照される列のインデックスがないためです。 constraint.
解決策
この問題を解決するには、dbimmobile.Immobile テーブルの ComuneImmobile、ViaImmobile、CivicoImmobile、および InternoImmobile 列にインデックスを作成する必要があります。このインデックスにより、MySQL は外部キー チェックの実行時に参照レコードを効率的に見つけることができます。
インデックスを作成したら、エラーが発生することなく変更をエクスポートできるはずです。
追加の注意事項
外部ファイルで使用される列のデータ型が異なる場合にも問題が発生する可能性があることに注意することが重要です。参照テーブルと被参照テーブルではキー制約が異なります。潜在的なエラーを避けるために、データ型に互換性があることを確認してください。
以上がMySQL 外部キー エラー 1005: 主キーと外部キーの競合を解決するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。