1

是否可以将 2 个不同表中的 2 个主键组合成另一个表中的 1 个外键?我有一个名为 product_food 的表,以 food_id 作为主键,product_drinks 以 drink_id 作为主键,然后我想在我的订单表中将 food_id 和 Drink_id 作为外键组合为 product_ID?那可能吗?

4

2 回答 2

1

您不应该将其用作主键;定义不同的 Product_Id 主键。

如果需要食品饮料产品的唯一性,只需将 Food_Id 和 Drink_id 两列添加到 products 表中,并将它们设置为外键,并在它们上添加唯一索引,这样就无法添加新产品,由相同的食物-饮料元组。

这足以满足您最初的需求吗?

于 2013-01-09T10:17:40.030 回答
1

从我的脑海中,有很多方法可以解决它:

  1. 您在同一张表中获取食物和饮料,使用相同的 id,它们可能使用不同的字段。
  2. 您制作具有唯一 ID 的餐桌产品,并使食品和饮料具有产品 ID。
  3. 在 orders 表上创建可以为空的外键 food_id、drink_id 并可能添加另一个字段来指示您将使用哪个字段。
于 2013-01-09T10:19:01.157 回答