Перед созданием таблицы сталкивайтесь с проблемой. Я использовал следующие запросы:
CREATE TABLE users (
id int NOT NULL PRIMARY KEY,
address_id int NOT NULL,
first_name VARCHAR(40),
last_name VARCHAR(40),
age int,
FOREIGN KEY FK_address (address_id) REFERENCES address (id)
);
или же
CREATE TABLE Users (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
каждый раз, когда я поймал ошибку
ERROR 1064 (42000): у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса, используемого рядом с "KEY (address_id)" СПИСОК Идентификаторов (id)
Я даже пытался сделать таблицу и назначить ключ после
CREATE TABLE Users (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
);
ALTER TABLE users ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
но была ERROR 1072 (42000): ключевой столбец "address_id" не существует в таблице
Может ли кто-нибудь помочь мне с решением или любыми советами, где проблема?
Попробуй это,
создать адрес таблицы (первичный ключ номера add_Id);
Пользователи CREATE TABLE (id int NOT NULL PRIMARY KEY,
address_id int NOT NULL,
first_name VARCHAR (40),
last_name VARCHAR (40),
age int, CONSTRAINT FK_address FOREIGN KEY (address_id) Адрес ссылки (add_id));