来自两个不同表的两个不同主键的外键引用是否有效?

时间:2012-10-07 09:35:13

标签: mysql database-design innodb

我有一个外键,必须引用两个不同表的主键。

表1:动物

       animal_ id (primary key)

表2:鸟

       bird_ id (primary key)

表3:Pet_info

      pet_id,
      type ENUM ('bird', 'animal')
      foreign key (pet_ id) references animal(animal_id), bird(bird_id) 

所以,我需要根据需要从动物或鸟类表中检查pet_id。这有效吗?或者我应该进行一些重组。 。

注意: I referred this . . 但我不确定是否必须更改现有设计

2 个答案:

答案 0 :(得分:0)

请看这个页面:http://www.tomjewett.com/dbdesign/dbdesign.php?page=subclass.php在动物和鸟类桌上做一个pet_id。

答案 1 :(得分:-2)

这是糟糕的设计。为所有宠物准备一张桌子,其中包含所有属性,其中一个属于该类型。