代码之家  ›  专栏  ›  技术社区  ›  WolfmanDragon

引用PK的外键是否需要NOTNULL约束?

  •  11
  • WolfmanDragon  · 技术社区  · 15 年前

    在PostgreSQL数据库中,引用主键的外键是否需要NOTNULL约束?

    2 回复  |  直到 15 年前
        1
  •  13
  •   Charles Bretana    15 年前

    如果希望能够在该表的FK列中表示unknown,则将其设置为Null,如果必须有值,则将其设置为Not Null。

    在引用表中,可以有任意数量的记录,且FK值为空。唯一约束位于引用表(其中PK为)中的行上,而不是位于引用表(其中FK为)中的行上。

        2
  •  -1
  •   James Black    15 年前

    因此,正如NewIn town提到的,NULL应该是有效的,但对于一条记录,唯一性将是更大的问题。

    我以前在外键上设置过null,但是如果您使用了cascade delete,那么null将不起作用,除非主表中的键具有null值。