我有三個表:
Table 1
pizza
country
base
Table 2
ingredient
type
Table 3
pizza
ingredient
amount
表 1 中的主鍵是pizza和 表 2 中ingredient。在表3中,pizza和成分是外鍵,分別參考表1和表2,我想把它們做成一個復合鍵。
這是我嘗試過的:
CREATE TABLE Table3(
pizza varchar(12),
ingredient varchar(12),
amount int,
CONSTRAINT FK_pizzaRecipe FOREIGN KEY (pizza)
REFERENCES Table1(pizza),
CONSTRAINT FK_ingredientBase FOREIGN KEY (ingredient)
REFERENCES Table2(ingredient),
CONSTRAINT pk_myConstraint PRIMARY KEY (pizza, ingredient)
);
但我不確定這是否是正確的實作。
uj5u.com熱心網友回復:
不,組裝單個復合 FK 沒有意義。這是兩個獨立的外鍵約束,彼此無關。
您的表格完全正確,如下所示:
CREATE TABLE Table3(
pizza varchar(12),
ingredient varchar(12),
amount int,
CONSTRAINT FK_pizzaRecipe FOREIGN KEY (pizza)
REFERENCES Table1(pizza),
CONSTRAINT FK_ingredientBase FOREIGN KEY (ingredient)
REFERENCES Table2(ingredient)
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/361404.html
標籤:sql sql-server
