Returning Values from INSERT ON CONFLICT DO NOTHING

Поиск
Список
Период
Сортировка
От Igal Sapir
Тема Returning Values from INSERT ON CONFLICT DO NOTHING
Дата
Msg-id CA+zig0_Joi5+toujDMF0K80x6kLaXJuHDk0kmDRNkiK5oW-jpQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: Returning Values from INSERT ON CONFLICT DO NOTHING  (Igal Sapir <igal@lucee.org>)
Список pgsql-general
Hello,

I want to use the "UPSERT" syntax for returning an ID if it exists, or inserting a record and returning the new ID if it does not exist.

INSERT INTO users(email, name)
  VALUES('user@domain.tld', 'User')
  ON CONFLICT (email) DO NOTHING
  RETURNING user_id, (xmax::text::int > 0) as existed;

When an email address does not exist then it works fine and I get the new user_id, but when it does exist, I get no results at all.

How can I get the results in case of a CONFLICT?

Thanks,


Igal

В списке pgsql-general по дате отправления:

Предыдущее
От: Paul Jungwirth
Дата:
Сообщение: Re: Use of Port 5433 with Postgresql 9.6
Следующее
От: Igal Sapir
Дата:
Сообщение: Re: Returning Values from INSERT ON CONFLICT DO NOTHING