ホームページ >データベース >mysql チュートリアル >外部キーは主キー以外の列を参照できますか?

外部キーは主キー以外の列を参照できますか?

DDD
DDDオリジナル
2025-01-15 10:41:48629ブラウズ

Can a Foreign Key Reference a Non-Primary Key Column?

外部キーは非主キー列を参照しています

外部キーを主キー以外の列に関連付ける場合、問題が発生する可能性があります。この例では、外部キーによって参照されるテーブルには、主キーとして指定されていない「AnotherID」という名前の列が含まれています。

考えられる解決策の 1 つは、「AnotherID」列が一意の制約を持つようにすることです。 Books Online はこれをサポートしており、外部キー制約は主キーだけでなく一意制約にもリンクできると述べています。 「AnotherID」に一意の制約を含めるようにテーブルを変更すると、外部キーを作成できるようになります。

ただし、そのような変更による潜在的な影響を考慮することが重要です。一意の制約を適用すると、さらに複雑さや制限が生じる可能性があるため、一般に、可能な限り主キーを外部キーのターゲットとして使用することをお勧めします。データ構造を変更できない状況では、非主キー列に一意制約を実装することが、参照整合性を維持するための実行可能なオプションとなる可能性があります。

以上が外部キーは主キー以外の列を参照できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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