我創建了數據庫的表地址擁有owner_id引用到不同表的兩個主鍵,但給出錯誤錯誤「無法更新子行:外部約束失敗」
這是我的表的結構一個外鍵引用不同表的兩個主鍵?
CREATE TABLE Address
(
OwnerID VARCHAR(5) NOT NULL,
Line1 VARCHAR(40),
City VARCHAR(40),
Postcode VARCHAR(4),
AddressType INT,
PRIMARY KEY (OwnerID, AddressType),
FOREIGN KEY (AddressType) REFERENCES AddressType(AddressType),
FOREIGN KEY (OwnerID) REFERENCES Supplier(SupplierID),
FOREIGN KEY (OwnerID) REFERENCES Customer(CustomerID)
);
任何人都可以解決?或至少給我一個替代?
特定地址的所有者如何能夠同時成爲供應商和客戶? – eggyal
當你遇到錯誤時,你正在執行什麼查詢? – rtcherry
此外,你應該真的改變架構有一個'AddressID'而不是'OwnerID',然後讓'Supplier'和'Customer'表具有'Address'表中的'AddressID'的外鍵引用。供應商和客戶有地址。地址沒有供應商或客戶。 – rtcherry