所以这是我的双主键表
create table order_mattress
(
order_number int,
mattress_id int ,
primary key (order_number,mattress_id)
);
这是我的第二张表
create table mattress
(
mattress_id int IDENTITY(1,1) PRIMARY KEY,
mattress_name varchar(25)
);
我想床垫中的床垫是桌子上的床垫的外键_ ordertmat怎么可能,因为第一张表中的双主键没有任何问题
答案 0 :(得分:1)
我会改变它,以便你有3个表而不是2个表:
包含唯一订单号的简单订单表:
create table orders
(
order_number int IDENTITY(1,1) PRIMARY KEY,
);
床垫桌,可容纳所有独特的床垫:
create table mattress
(
mattress_id int IDENTITY(1,1) PRIMARY KEY,
mattress_name varchar(25)
);
订购床垫桌,然后将床垫与外国钥匙联系起来。
create table order_mattress
(
order_number int FOREIGN KEY REFERENCES orders(order_number),
mattress_id int FOREIGN KEY REFERENCES mattress(mattress_id)
);
答案 1 :(得分:0)
您的方向错误 - 如果mattress
表描述了床垫,mattress_order
表应该有一个外键:
ALTER TABLE order_mattress
ADD FOREIGN KEY (mattress_id)
REFERENCES mattress(mattress_id)
另一个方向确实不可能,因为mattress_id
中order_mattress
不是唯一的。