复合外键不起作用
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);
我有一个带有复合主键的产品 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);