当我尝试添加到我的一张桌子时,当前出现以下错误:
添加记录时出错:FOREIGN KEY约束失败:(将INERT插入
Stock
(StockID
,ItemName
,MinAmountRequired
,AmountInStock,
订单?(是/否),
DataLastUpdated,
OrderNumber,
SupplierRefrence,
PurchaseID`)值(1,“,0,0,”,“,0,0,0);)
目前,这是我设置表格的方式:
库存
CREATE TABLE Stock (
StockID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
ItemName TEXT NOT NULL,
MinAmountRequired INTEGER NOT NULL,
AmountInStock INTEGER NOT NULL,
Order? (Yes/No) TEXT NOT NULL,
DataLastUpdated TEXT NOT NULL,
OrderNumber INTEGER NOT NULL UNIQUE,
SupplierReference INTEGER NOT NULL,
PurchaseID INTEGER NOT NULL UNIQUE,
FOREIGN KEY(PurchaseID) REFERENCES Purchase(PurchaseID),
FOREIGN KEY(OrderNumber) REFERENCES Orders(OrderNumber),
FOREIGN KEY(SupplierReference) REFERENCES Supplier(SupplierReference));
订单
CREATE TABLE Orders (
OrderNumber INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
CustomerReferenceNumber INTEGER NOT NULL UNIQUE,
OrderDate TEXT NOT NULL,
ItemName TEXT NOT NULL UNIQUE);
供应商
CREATE TABLE Supplier (
SupplierReference INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
Name TEXT NOT NULL UNIQUE,
Address TEXT NOT NULL UNIQUE,
ContactNumber INTEGER NOT NULL UNIQUE);
购买
CREATE TABLE Purchase (
PurchaseID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
Date TEXT NOT NULL,
AmountSpent REAL NOT NULL);
答案 0 :(得分:1)
您已在表Stock
中定义了这些外键:
FOREIGN KEY(PurchaseID) REFERENCES Purchase(PurchaseID),
FOREIGN KEY(OrderNumber) REFERENCES Orders(OrderNumber),
FOREIGN KEY(SupplierReference) REFERENCES Supplier(SupplierReference)
表示列PurchaseID
,OrderNumber
,SupplierReference
中的值需要引用表Purchase
,Orders
和{{1 }}。
但是您想将0存储到所有这些列中,我确定这不是任何引用列的值,因为这些引用列定义为
Supplier
,因此它们的值为PRIMARY KEY AUTOINCREMENT
。
传递这3个表中确实存在的有效值,该语句将成功执行。