我在这个论坛上发现了类似的问题,但是其中任何一个都可以使我想出一个解决方案,因此我认为有人可以知道答案。
我有这个数据库方案:
商品,供应商和订单。 这些是表,我还有另外两个表:orders_merchandises和Suppliers_merchandises。
这些表是这样的:
merchandises
-id
-name
suppliers
-id
-name
orders
-id
-supplier_id
orders_merchandises
-order_id
-merchandise_id
suppliers_merchandises
-supplier_id
-merchandise_id
规则是:
供应商只能提供他们能够提供的商品。 因此,我有一个表Suppliers_merchandises来注册每个供应商的供应给商店的商品。
因此,订单必须限制供应商只供应“ pre-recorded”在vendor_merchandises中的商品。
我希望我能解释得足够清楚。
因此,我需要一个用于多个表的外键,如下所示:
ALTER TABLE suppliers_merchandises
ADD FOREIGN KEY FK_NAME (supplier_id, merchandise_id)
REFERENCES (orders.supplier_id, orders_merchandises.merchandise_id)
但是,不幸的是这行不通。
有人知道我有什么办法可以做吗?
它可以在任何dbms中。 SQLServer,Firebird或任何其他