我按正确的顺序拥有所有主键和删除表。
我基本上希望stockID成为退款表中的外键。
我的架构看起来像这样......
CREATE TABLE refunds (
refundID SMALLINT AUTO_INCREMENT,
stockID SMALLINT,
refundDate DATE,
FOREIGN KEY (stockID) REFERENCES tblStock(stockID),
PRIMARY KEY (refundID)
);
CREATE TABLE tblStock (
stockID SMALLINT AUTO_INCREMENT,
stockName VARCHAR(60),
StockNumbers SMALLINT
);
答案 0 :(得分:1)
当引用另一个表进行外键引用时,该表必须已经存在。并且,被引用的列应该是主键。试试这个:
CREATE TABLE tblStock (
stockID SMALLINT AUTO_INCREMENT PRIMARY KEY,
stockName VARCHAR(60),
StockNumbers SMALLINT
);
CREATE TABLE refunds (
refundID SMALLINT AUTO_INCREMENT,
stockID SMALLINT,
refundDate DATE,
FOREIGN KEY (stockID) REFERENCES tblStock(stockID),
PRIMARY KEY (refundID)
);
答案 1 :(得分:0)
FOREIGN KEY (stockID) REFERENCES tblStock(stockID)
引用一个尚不存在的表。首先创建tblStock
。
答案 2 :(得分:0)
您正在引用一个不存在的表。首先创建它。
此外,您还需要索引要引用的键。确保外键中引用的任何值实际存在。