Назначение FOREIGN KEY в MYSQL 5.6.41 на Mac OS

0

Перед созданием таблицы сталкивайтесь с проблемой. Я использовал следующие запросы:

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" не существует в таблице

Может ли кто-нибудь помочь мне с решением или любыми советами, где проблема?

Теги:
macos

1 ответ

0

Попробуй это,

создать адрес таблицы (первичный ключ номера 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));

  • 0
    ошибка по-прежнему: ОШИБКА 1064 (42000): в синтаксисе SQL имеется ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с 'id int NOT NULL PRIMARY KEY, address_id int NOT NULL, first_name VARCHAR' в строке 1
  • 0
    попробуй новый ....
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню