Не получается создать 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