复合外键不起作用

composite foreign key not working

我有一个带有复合主键的产品 table 并且复合主键按预期工作但每当我尝试将此复合主键用作另一个 table 中的外键时,它起作用了

主要table产品:

create table product
(
product_id number(4) , 
sub_product_id number(3) , 
category_id references category, 
product_name varchar2(40), 
product_brand varchar2(30), 
price varchar2(15) , 
image_url varchar2(200) , 
color varchar2(30) , 
intmemory varchar2(30) ,
extmemory varchar2(30) , 
primary key(product_id,sub_product_id)
)

外键table购物车:

create table cart
(
userid references register1 ,
product_id, 
sub_product_id, 
quantity number(3) , 
delivery_time varchar2(100) ,
foreign key(product_id ,sub_product_id) references product(product_id    ,sub_product_id)
)

主 table 工作正常但外键不起作用,当我插入相同的 (product_id , sub_product_id)

时它们不会出错

我想要的只是购物车 table 没有相同 product_id, sub_product_id

的多个条目

一样,外键与唯一键不同。您可以简单地创建一个唯一的密钥:

ALTER TABLE cart
ADD CONSTRAINT constraint_name
UNIQUE (product_id , sub_product_id);