我已经创建了这样一个测试场景:错误:外键指的是来自两个不同表的主键
我有三张表,即父亲,孩子,食物。
父表具有主自动增量键和名称列。 子表具有主自动增量键和名称列。 食物有一列我想要一个外键和一列食物名称。
father
-----------
id name
1 kevin
2 adam
child
-----------
id father_id name
1 1 fred
2 1 john
3 2 alan
food
------------
person_id name
1(from father table) pizza
2(from child table) burger
1(from child table) hotdog
现在食物表有异常。我不能区分(1比萨)是为父亲还是孩子...
测试案例: 从food where where father.id = 1中选择food.name;输出:披萨 从食品中选择food.name,其中child.id = 1;输出:热狗
[外键引用多个表中的主键?](https://stackoverflow.com/questions/668921/foreign-key-referring-to-primary-keys-across-multiple-tables) – philipxy
谷歌我对“数据库子类型”的评论。 (你会看到它与“两个/多个表的外键关联”)(尽管这里实际上并没有FK)。事实上,如果你只是搜索了你的标题或其他明确的问题描述,发现这是一个很多重复的常见问题,例如[this answer](https://stackoverflow.com/a/26093733/3404097)。 – philipxy