Не получается создать foreign key

Не понимаю как сделать форинкей.Есть первая таблица:

postgres=# select * from MyWriters;

 writerid |      name
----------+----------------
        4 | Vitaliy Zukov
        5 | Garry Garrison
        6 | Nick Perumov

Cоздаю вторую, но когда пытаюсь на один и тот же айдишник повесить разные книги, то вылазит ошибка, мол такой айдишник существует.

postgres=# create table NoBooks (
postgres(# bookID int not null primary key,
postgres(# name varchar(100),
postgres(# foreign key (bookID) references MyWriters(writerID)
postgres(# );
CREATE TABLE


postgres=# insert into NoBooks (bookID, name) values (4, 'Malk');
INSERT 0 1
postgres=# insert into NoBooks (bookID, name) values (4, 'Bezumiannuy rab');

ERROR: duplicate key value violates unique constraint "nobooks_pkey" DETAIL: Key (bookid)=(4) already exists.


Ответы (1 шт):

Автор решения: Peter1

Надо добавить еще один столбец NoBooks.writerID, это и будет внешний ключ:

foreign key (writerID) references MyWriters(writerID)

Благодаря комментарию @InDevX

→ Ссылка