在我的数据库中有两个表,让我们说object
和object_score
。 object
有一个object_score_id
,该列是object_score.id
的外键。我们以这种方式设置关系,因为直观地,object
拥有其得分。
我们遇到的问题是,我们想要在插入object_score
时编写触发器以自动创建相应的object
。但是,我们没有关于object_score
的任何识别信息来唯一标识它,因此如果我们在BEFORE INSERT ON
触发器中创建行,我们无法添加其id
到object
中的外键列。
除了翻转关系以便object_score
拥有object
之外,还有办法解决这个问题吗?
答案 0 :(得分:1)
通常在父子关系中,外键将存在于子表中。在这种情况下,object是父对象,object_score是子对象。因此,所有object_scores都使用object_id标记(拥有)。然后,您可以强制所有object_score都有一个对象,并且没有孤儿。
在父表中使用外键通常表示一个查找表,其中有一个可以跨行共享的属性。例如,object_color,并且该对象具有color_id。