SQLの助けを借りて、プライマリがNULLを許可せず、IDENTITYであっても、外部キーをNULLにすることはできますか?ありがとう。外部キーをNULLにすることができます
-3
A
答えて
1
もちろん、外部キーはNULL可能です。これはお勧めであり、多くの場合に適切なことです。この場合、値NULL
は、一致する関係がないことを意味します。
たとえば、マネージャーと外部キーの関係として従業員の階層がある場合、上部の人にはマネージャーがなく、これはNULL
という値で表すことができます。
あなたのユーザーが誰であるかによって、注意が必要な場合があります。たとえば、顧客にはCountryId
があるとしますが、一部の顧客にはその国を知らないとします。
select . . .
from Customers cu join
Countries co
on cu.CountryId = co.CountryId;
これは不注意なし顧客と顧客をフィルタリングします:データベースのユーザーがCountryId
が有効であるとのようなクエリを記述するために期待するかもしれません。 left join
が不要になるように、「デフォルト」または「不明」の国を追加し、外部キーをNULL
にする必要があります。
0
私はあなたの定義が混ざっていると思います。
主キーは、null値ではない一意の列(または列のセット)である必要があります。
アイデンティティは、データベースの列に自動的に値を発行させる列のプロパティです。 ID列は更新することはできませんが、ユーザー定義の値を挿入することができます。そのため、一意ではない値を持つことができます。
外部キーは、2つのテーブル間の関係です。この関係は、2つのテーブルを1つの列(または複数の列)でリンクします。外部キーは、一対一の関係または一対多の関係のいずれかです。列が外部キーの多くの側にある場合、NULLにすることができます。
関連する問題
- 1. JPA @OneToMany:外部キーがnullです
- 2. MySQL外部キーの値がNULLです
- 3. Laravelの外部キーがnull
- 4. 外部キーの外部キーがベース外部キーと一致することを確認する
- 5. joinWith null null外部キー値
- 6. このシナリオでは、NULL可能な外部キーを使用できますか?
- 7. 私は外部キーにnullを挿入できません
- 8. のHibernateのマッピング - 外部キー列がnullにすることはできません - 春JSP
- 9. Laravel外部キーはnullにできません
- 10. hasManyのNOT NULL外部キー
- 11. Tastypie外部キーがnullに設定されています
- 12. Tastypie外部キーがnullに設定されています
- 13. 私は、MySQLの外部キーをドロップすることができません
- 14. Entity Framework null null可能な外部キー
- 15. 外部キーがNULLのEFナビゲーションプロパティ
- 16. 外部キーにアイテムIDを割り当てることができません
- 17. 外部キーまたはnull値
- 18. NULL可能フィールドで外部キー制約が失敗する
- 19. クエリーセットで外部キーをフィルタリングすることはできますか? Django
- 20. Mysql外部キー列にNULL値を設定します
- 21. 外部キー列にNULL値を設定していますか?
- 22. MySQL Workbenchで外部キーを作成することはできません
- 23. エレメントを外部CSSでスタイリングすることができます
- 24. プライマリキーの一部である外部キーにnullを設定する
- 25. PKを参照する外部キーにNOT NULL制約が必要ですか?
- 26. のMySQL:外部キーを追加すると、ここでMyISAMテーブル
- 27. は、外部キーを作成することはできません
- 28. :「外部キー制約を追加することはできません」
- 29. doctrine2 OneToMany関係がNULLを外部キーとして挿入します
- 30. 内部結合にはNULL列を設定することができます
はい、可能です –
どのdbmsを使用していますか? – jarlh
はい、FK列はNULL値を許可できます。これはC#と何が関係していますか?あなたは何を試しましたか、何が動いていませんか? – David