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

Создание внешнего ключа в PgAdmin4

Михаил Булгаков Ученик (126), открыт 3 дня назад
Что делать? Надо чтоб оба столбца ссылались на Id, но в разных таблицах.

Пишет, что не может быть одинаковых значений, но они же находятся в разных таблицах ://
2 ответа
Василий Полубнев Просветленный (24020) 3 дня назад
Если я правильно понял постановку задачи: Есть таблица A, в которой есть поле ID INT PRIMARY KEY.
Есть таблицы B и С в каждой из которых есть столбец a_id, который должен ссылаться на A.ID .
Скриптом это выглядит так:
CREATE TABLE B (
...
A_ID INT CONSTRAINT ab_fk REFERENCES A(ID),
...
);

CREATE TABLE C (
...
A_ID INT CONSTRAINT ac_fk REFERENCES A(ID),
...
);
-------------------------------------------------------------------------------------
Предположим, что таблицы B и С уже созданы, а внешние ключи не прописаны. Тогда так:
ALTER TABLE B ADD CONSTRAINT ab_fk REFERENCES A(ID);
ALTER TABLE С ADD CONSTRAINT ac_fk REFERENCES A(ID);

Думаю, что у Вас оба ключа получили одинаковые названия, и по этому возникла ошибка.
Похожие вопросы