我有一个表 SCHOOL_PARENT 和一个表 SCHOOL_CHILD。SCHOOL_CHILD 表包含一个子 ID 和一个父 ID,它们共同构成主键。这是因为一个孩子可以有两个父母(妈妈和爸爸,因此是 2 行)。
然后存在没有任何父母的孩子的情况。但我不能插入这一行,因为表 SCHOOL_CHILD 不接受 NULL 父级,它是主键的一部分。如何解决这个问题呢?
我有一个表 SCHOOL_PARENT 和一个表 SCHOOL_CHILD。SCHOOL_CHILD 表包含一个子 ID 和一个父 ID,它们共同构成主键。这是因为一个孩子可以有两个父母(妈妈和爸爸,因此是 2 行)。
然后存在没有任何父母的孩子的情况。但我不能插入这一行,因为表 SCHOOL_CHILD 不接受 NULL 父级,它是主键的一部分。如何解决这个问题呢?
不确定我是否正确理解了这个问题,但我认为您的数据模型类似于:
Table: Parent
------------
ParentID (PK)
Name
....
Table: Child
------------
ChildID (PK)
Name
....
Table: Parent_Child
----------------
ParentID (PK)
ChildID (PK)
孩子和父母之间是多对多的关系;您通常在“桥接”表中对此进行建模。
Table: SCHOOL_PARENT
------------
ParentID (PK)
Name
....
Table: SCHOOL_CHILD
------------
ChildID (PK)
MotherID (FK)
FatherID (FK)
Name
....
FatherID 和 MotherID 可以为空。