| From: | Igal Sapir <igal(at)lucee(dot)org> |
|---|---|
| To: | Jov <amutu(at)amutu(dot)com> |
| Cc: | "Psql_General (E-mail)" <pgsql-general(at)postgresql(dot)org> |
| Subject: | Re: Returning Values from INSERT ON CONFLICT DO NOTHING |
| Date: | 2018-01-03 06:18:34 |
| Message-ID: | CA+zig0_3KA4HZqYG_Lk=t8uwNLC8wt8eyXpzr6cYs4mEVPwoWg@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On Mon, Jan 1, 2018 at 11:59 PM, Jov <amutu(at)amutu(dot)com> wrote:
> From https://www.postgresql.org/docs/devel/static/sql-insert.html:
>
>> The optional RETURNING clause causes INSERT to compute and return
>> value(s) based on each row actually inserted (or updated, if an ON
>> CONFLICT DO UPDATE clause was used). This is primarily useful for
>> obtaining values that were supplied by defaults, such as a serial sequence
>> number. However, any expression using the table's columns is allowed. The
>> syntax of the RETURNING list is identical to that of the output list of
>> SELECT. Only rows that were successfully inserted or updated will be
>> returned. For example, if a row was locked but not updated because an ON
>> CONFLICT DO UPDATE ... WHERE clause *condition* was not satisfied, the
>> row will not be returned.​
>
>
> do update will return values while do nothing will not.
>
That explains it, thank you.
>
> 2018-01-02 15:43 GMT+08:00 Igal Sapir <igal(at)lucee(dot)org>:
>
>> It seems that if I do a simple update it resolves my issue:
>>
>> INSERT INTO users(email, name)
>> VALUES('user(at)domain(dot)tld', 'User')
>> ON CONFLICT (email) DO UPDATE
>> SET email = excluded.email -- users.email works too, not sure if
>> makes a difference
>> RETURNING user_id, (xmax::text::int > 0) as existed;
>>
>
> ​Do not update email column because there is index on this column. It is
> better to update other non-index column for HOT update.​
>
Makes sense, thanks again.
Igal
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Kellner Thiemo | 2018-01-03 07:27:28 | RE: Mailing list archiver |
| Previous Message | Thuc Nguyen Canh | 2018-01-03 05:50:50 | Re: Query error: could not resize shared memory segment |