У меня есть таблица table1
, имеющая 2 столбца user_name
и book_name
.
Теперь я хочу вставить записи так, чтобы один и тот же пользователь не мог иметь одно и то же название книги в другой записи.
Я пытался сделать:
INSERT INTO table1(user_name, book_name) VALUES('random_user', 'random_book')
ON CONFLICT (user_name, book_name ) DO NOTHING;
Но это возвращало мне ошибку Postgres 42P10.
Кроме того, я хочу знать о том, как вводить записи в таблицу, где один столбец может быть одинаковым, но другие должны отличаться. Например, таблица с тремя полями user_name
, book_name
, quantity
, в которой пользователь может иметь одну и ту же книгу в разных записях, только если ее количество отличается.