ホームページ >データベース >mysql チュートリアル >外部キーは主キー以外の列を参照できますか?
外部キーは非主キー列を参照しています
外部キーを主キー以外の列に関連付ける場合、問題が発生する可能性があります。この例では、外部キーによって参照されるテーブルには、主キーとして指定されていない「AnotherID」という名前の列が含まれています。
考えられる解決策の 1 つは、「AnotherID」列が一意の制約を持つようにすることです。 Books Online はこれをサポートしており、外部キー制約は主キーだけでなく一意制約にもリンクできると述べています。 「AnotherID」に一意の制約を含めるようにテーブルを変更すると、外部キーを作成できるようになります。
ただし、そのような変更による潜在的な影響を考慮することが重要です。一意の制約を適用すると、さらに複雑さや制限が生じる可能性があるため、一般に、可能な限り主キーを外部キーのターゲットとして使用することをお勧めします。データ構造を変更できない状況では、非主キー列に一意制約を実装することが、参照整合性を維持するための実行可能なオプションとなる可能性があります。
以上が外部キーは主キー以外の列を参照できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。