這是我的表1:不能創建外鍵「有被引用表中沒有主或候選鍵」
CREATE TABLE PurchasedProducts
(
Purchase_Order_No int,
Purchase_Product_ID int FOREIGN KEY REFERENCES Inventory(In_Product_ID),
Purchase_Quantity int NOT NULL,
Purchase_Status varchar(7) NOT NULL,
PRIMARY KEY(Purchase_Order_No, Purchase_Product_ID)
);
這是我的表2:
CREATE TABLE PurchasedDate
(
PD_PO_No int NOT NULL PRIMARY KEY FOREIGN KEY REFERENCES PurchasedProducts(Purchase_Order_No),
PD_Date date NOT NULL
);
我執行第一個表成功,但是當我執行第二個表時它顯示此錯誤消息:
被引用表中沒有主鍵或候選鍵「購買產品「與外鍵'FK__Purchased__PD_PO__0B5CAFEA'中的引用列表匹配。
我不是什麼問題。請幫幫我!
很明顯,purchase_product_no列不是父表中的主鍵或唯一鍵, – radar 2014-09-25 02:20:11
與您的問題無關,但這是一個非常奇怪的數據庫設計。更傳統的方法是將採購訂單表作爲其中一個字段。您的purchaseProducts表將具有對其的外鍵引用。順便說一句,你的答案在這裏。 http://stackoverflow.com/questions/6651667/creating-a-composite-foreign-key-in-sql-server-2008 – 2014-09-25 02:26:47
@Rajesh你能告訴我這是什麼意思'PRIMARY KEY(Purchase_Order_No,Purchase_Product_ID)'。我希望Purchase_Order_No,Purchase_Product_ID作爲組合鍵。我想把PD_PO_No作爲Purchase_Order_No的外鍵。這對於我的任務,我是SQL新手請幫忙。 Thankyou – 2014-09-25 02:29:35