0
我一直在試圖增加O_BagelID到我Order
表的屬性,但是每當我嘗試添加它,我得到的錯誤「無法添加外鍵約束」。無法添加外鍵約束髮生錯誤時,我嘗試第三外鍵添加到我的表
正如你可以看到我已經確信,無論是外鍵,以便和在百吉餅的參考是同一類型的。當我刪除O_BagelID和所有相關的領域,我不再得到這個錯誤。
CREATE TABLE `Order`(
OrderID INTEGER NOT NULL,
O_CustomerID INTEGER NOT NULL,
O_BagelCardID VARCHAR(16),
O_BagelID INTEGER,
Order_date DATE NOT NULL,
Order_Cost DECIMAL(4,2) NOT NULL,
Discount_applied BOOLEAN NOT NULL,
PRIMARY KEY(OrderID,O_CustomerID,O_BagelCardID,O_BagelID),
FOREIGN KEY (O_CustomerID)
REFERENCES Customer(CustomerID)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (O_BagelCardID)
REFERENCES BagelCard(BagelCardID)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (O_BagelID)
REFERENCES Bagel(BagelID)
ON DELETE RESTRICT
ON UPDATE CASCADE
);
CREATE TABLE Bagel(
BagelID INTEGER NOT NULL,
Contains_Nuts BOOLEAN NOT NULL,
Price DECIMAL(4,2) NOT NULL,
Description VARCHAR(255),
PRIMARY KEY(BagelID)
);
添加錯誤消息 – Jens
「無法添加外鍵約束」。這就是我得到的。 – LovesPie
創建http://sqlfiddle.com/請 – Jens