问题
我正在尝试将Customer表中的ID列链接到Purchases表中的C_ID。我还在学习SQL所以我有一个很好的知识,不知道为什么会出现这个错误。如果有人能够提供解决方案,并指出我出错的地方那就太棒了。
SQL代码
CREATE TABLE Customer (
ID INTEGER,
Firstname VARCHAR (15),
Lastname VARCHAR (15),
Address VARCHAR (254),
Postcode VARCHAR (8),
Email VARCHAR (254),
Phoneno INTEGER,
Points INTEGER,
PRIMARY KEY (ID)
);
CREATE TABLE Purchases (
C_ID INTEGER,
GameName VARCHAR(30),
ConsoleType VARCHAR (20),
Price VARCHAR (254),
PaymentType VARCHAR (20),
Date TIMESTAMP,
PointsGained INTEGER,
PRIMARY KEY (C_ID),
FOREIGN KEY (ID) REFERENCES Customer(ID)
);
答案 0 :(得分:2)
我认为你错放了主键和外键列,你也没有添加购买表主键列
CREATE TABLE Purchases
(
ID INTEGER, -- Primary key column
C_ID INTEGER,
GameName VARCHAR(30),
ConsoleType VARCHAR (20),
Price VARCHAR (254),
PaymentType VARCHAR (20),
Date TIMESTAMP,
PointsGained INTEGER,
PRIMARY KEY (ID),
FOREIGN KEY (C_ID) -- Replace ID with C_ID
REFERENCES Customer(ID)
);
答案 1 :(得分:1)
您的ID
表格中没有名为Purchases
的列
在我看来它应该是这样的:
CREATE TABLE Purchases (
ID INTEGER,
C_ID INTEGER,
GameName VARCHAR(30),
ConsoleType VARCHAR (20),
Price VARCHAR (254),
PaymentType VARCHAR (20),
Date TIMESTAMP,
PointsGained INTEGER,
PRIMARY KEY (ID),
FOREIGN KEY (C_ID) REFERENCES Customer(ID)
);
因此ID
列是主键,C_ID
列是客户的外键。