我有一個外鍵需要引用兩個不同表的主鍵。來自兩個不同表的兩個不同主鍵的外鍵引用是否有效?
表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 . .,但我不知道是否我不得不改變我現有的設計
看來你的外鍵在錯誤的地方。我期望外鍵在它們各自的表中是animal_id和bird_id,它們將引用父級Pet表(超類型/子類型模式)。 – sqlvogel