Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не добавляется вторичный ключ в sql запросе. Sql Shell

Victoria Ell Ученик (209), закрыт 4 года назад
Не могу добавить вторичный ключ, выдает такую ошибку
в целевой внешней таблице "name" нет ограничения уникальности, соответствующего данным ключам
-- код создания 2 таблиц
create table Person ( ID int primary key,Passport_series int not null,
Passport_namber int not null, Surname text not null,
Name text not null,Patronymic text not null,
Date_of_Birtdh date not null, Floor text not null);

create table PersonLand ( ID int primary key,ID_Person int not null,ID_language int not null,ID_Mark int not null);
когда прописываю этот код
alter table Person add foreign key (ID) references PersonLand(ID_Person);
выскакивает ошибка, в чем дело, не понимаю ?
Лучший ответ
Иван Иванов Мудрец (17783) 4 года назад
Какая ошибка?
Victoria EllУченик (209) 4 года назад
так у меня 2 таблицы Person и PersonLand, или я неправильно пишу?
Иван Иванов Мудрец (17783) Не, это я тупанул. Какая ошибка появляется?
Остальные ответы
Андрей Высший разум (425261) 4 года назад
Ну так у тебя PersonLand ссылается на Person, а на наоборот. И внешний ключ должен создаваться НЕ в Person, а в PersonLand.

Внешний ключ создаётся ВСЕГДА и ТОЛЬКО в подчинённой таблице и ссылается на на главную таблицу.
Похожие вопросы