外键是指跨多个表的主键?

时间:2010-05-29 05:56:28

标签: postgresql

我有三张表说城市,州和公路

1)city - > city_id(PK),名称

2)状态 - > Stt_id(PK),名称

3)道路 - > Edge_id(PK),Admin_id(FK)

其中Admin_id指的是city_id和Stt_id。

这样做是因为表太大了。

说city_id包含1,2,3 和Stt_id包含4,5,6

现在,如果我在admin_id中插入1,2,3,4,5,6,则会出现错误..我的问题的解决方案是什么,

问候

sanjay

1 个答案:

答案 0 :(得分:1)

创建一个admin表,其中包含每个城市和州的条目,并在其各自的表格中使用admin_ids作为city_idstt_id。然后在city_idstt_idroad.admin_id上声明外键,引用admin.admin_id(当然保留所有现有的PK)。