多个表的外键插入语句冲突

时间:2018-01-12 07:54:54

标签: mysql sql sql-server database foreign-keys

我有一个问题:

数据库图

enter image description here

object_id是一个外键引用5个表的“id”列。 所以我不能将例如第5条记录插入“connected_nodes”表,因为在“klapan_treh”表中第5条记录不存在,但在“ns”表中存在第5条记录。

我的解决方案是为每个表创建单独的列,例如:ns_id引用ns(id),klapan_treh_id引用klapan_treh(id)等。

但你建议我改进另一种方法吗?

1 个答案:

答案 0 :(得分:0)

我认为你提议的解决方案是最好的解决方案。您需要的是在connected_nodes表中有5个单独的外键。其中每一个都指向其他表中的一个id。我认为这就是你的建议。

每个外键都可以是可选的(可为空),这样如果你有4个连接的节点,你就可以填充4个外键,第5个就可以为空。

相关问题