Для таблицы, подобной этой:
CREATE TABLE Users(
id SERIAL PRIMARY KEY,
name TEXT UNIQUE
);
Какова была бы правильная вставка одного запроса для следующей операции:
Учитывая пользователя name
, вставьте новую запись и верните новый id
. Но если name
уже существует, просто верните id
.
Я знаю новый синтаксис в PostgreSQL 9.5 для ON CONFLICT(column) DO UPDATE/NOTHING
, но я не могу понять, как это вообще может помочь, учитывая, что мне нужно вернуть id
.
Кажется, что RETURNING id
и ON CONFLICT
не принадлежат друг другу.