Я пытаюсь создать несколько базовых таблиц SQL, но получаю следующую ошибку:
В ссылочной таблице «CART» нет первичных ключей или ключей-кандидатов, которые соответствуют списку ссылочных столбцов во внешнем ключе «FK__ORDERS__CART_ID__2B3F6F97»
Это текущий код, который я использую.
create table USERS
(
User_ID int NOT NULL primary key,
Address varchar(30) NOT NULL,
Email varchar(30) NOT NULL,
Password varchar(30) NOT NULL,
Phone varchar(30) NOT NULL,
F_Name varchar(30) NOT NULL,
L_Name varchar(30) NOT NULL,
Date_of_Birth varchar(30) NOT NULL
)
create table PAYMENT
(
User_ID int NOT NULL primary key,
Credit_Card varchar(30) NOT NULL,
Debit_Card varchar(30) NOT NULL,
Google_Pay varchar(30) NOT NULL,
Apple_Pay varchar(30) NOT NULL,
Paypal varchar(30) NOT NULL,
foreign key (User_ID)
references USERS(User_ID)
)
create table CART
(
User_ID int NOT NULL,
Cart_ID int NOT NULL,
Total_Price float NOT NULL,
primary key (Cart_ID, User_ID),
foreign key(User_ID)
references USERS(User_ID)
)
create table ORDERS
(
Order_ID int NOT NULL primary key,
Total_Price float NOT NULL,
Payment_Method varchar(30) NOT NULL,
User_ID int NOT NULL,
CART_ID int NOT NULL,
foreign key (User_ID)
references USERS(User_ID),
foreign key (Cart_ID)
references CART(Cart_ID),
)
create table ORDER_HISTORY
(
User_ID int NOT NULL,
Order_ID int NOT NULL,
primary key (User_ID, Order_ID),
foreign key (User_ID)
references USERS(User_ID),
foreign key (Order_ID)
references ORDERS(Order_ID)
)
Я пытался что-то изменить и переместить, но не могу устранить ошибку. Я подозреваю, что это, вероятно, довольно просто и очевидно, но так как я новичок в SQL, я, вероятно, упускаю его.