【发布时间】:2012-09-27 20:58:24
【问题描述】:
我有一个外键必须引用两个不同表的主键。
表 1:动物
animal_ id (primary key)
表 2:鸟
bird_ id (primary key)
表 3:宠物信息
pet_id,
type ENUM ('bird', 'animal')
foreign key (pet_ id) references animal(animal_id), bird(bird_id)
所以,我需要根据需要从动物表或鸟表中检查 pet_id。这是有效的吗?或者我应该进行一些重组。 . .
注意: I referred this . . 但我不确定是否必须更改现有设计
【问题讨论】:
-
看来你的外键放错了地方。我本来希望外键在它们各自的表中是 animal_id 和 bird_id,这将引用父 Pet 表(超类型/子类型模式)。
标签: mysql database-design innodb