From the docs: “ON CONFLICT can be used to specify an alternative action to raising a unique constraint or exclusion constraint violation error.” So if the INSERT part succeeds then the ON CONFLICT part is never executed. If the INSERT fails with due to a violation of the constraint you specified (or was implied) then the ON CONFLICT part is executed instead. An UPDATE here can
raise further errors, of course. If the INSERT fails for a different reason then the ON CONFLICT part is not executed. Steve. From: tango ward [mailto:tangoward15@xxxxxxxxx]
thanks for the response Steven. Will ON CONFLICT DO UPDATE/NOTHING if there's no error? On Wed, May 23, 2018 at 5:43 PM, Steven Winfield <Steven.Winfield@xxxxxxxxxxxxxxxxx> wrote: INSERT … ON CONFLICT DO UPDATE … is probably what you want, perhaps using a specified unique index/constraint: https://www.postgresql.org/docs/10/static/sql-insert.html#SQL-ON-CONFLICT Steve. From: tango
ward [mailto:tangoward15@xxxxxxxxx]
Hi,
I just want to ask if it's possible to insert data if it's not existing yet. I was able to play around with UPSERT before but that was when there was an error for duplicate data.
In my scenario, no error message is showing. Any suggestion? Thanks, J This email is confidential. If you are not the intended recipient, please advise us immediately and delete this message. The registered name of Cantab- part of GAM Systematic
is Cantab Capital Partners LLP. See -
http://www.gam.com/en/Legal/Email+disclosures+EU for further information on confidentiality, the risks of non-secure electronic communication, and certain disclosures which we are required to make in accordance with applicable legislation and regulations.
If you cannot access this link, please notify us by reply message and we will send the contents to you. |