@Etmac

Не могу создать таблицу, ошибка 150?

Я почитал про эту ошибку, тем не менее не могу понять как правильно связать таблицы cities и countries. Таблица countries имеет поля id (PRIMARY KEY) и name (тип данных varchar(64) ). Суть вопроса: как правильно задать FK чтобы он ссылался на citites ? И почему отображается ошибка ?
CREATE TABLE cities (
id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name varchar(64) NOT NULL,
country_id varchar(64),
UNIQUE KEY(country_id),
FOREIGN KEY(country_id) REFERENCES countries(name)
) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
ERROR 1005 (HY000): Can't create table 'network.cities' (errno: 150)
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
убрать

country_id varchar(64),
UNIQUE KEY(country_id),


изменить

FOREIGN KEY(country_id) REFERENCES countries(id)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
Ошибка в этой строке, похоже разные типы данных
FOREIGN KEY(country_id) REFERENCES countries(name)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы