Re: ON CONFLICT DO UPDATE

From: tango ward <tangoward15(at)gmail(dot)com>
To: Alban Hertroys <haramrae(at)gmail(dot)com>
Cc: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: ON CONFLICT DO UPDATE
Date: 2018-05-10 10:04:41
Message-ID: CAA6wQL+sFc4T=XcHFcuE+4=nZzZkwS+FQm0rWNTuFbwVxtFGJw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Yes, that's what I figured out eventually. I thought, only the columns that
I declared inside the ON CONFLICT() parenthesis can be called in SET. My
bad.

On Thu, May 10, 2018 at 5:57 PM, Alban Hertroys <haramrae(at)gmail(dot)com> wrote:

>
> > On 10 May 2018, at 7:13, tango ward <tangoward15(at)gmail(dot)com> wrote:
>
> > ON CONFLICT (school_system_id,
> > student_id,
> > campus_name
> > ) DO UPDATE
> > SET school_system_id =
> excluded.school_system_id,
> > student_id = excluded.student_id,
> > campus_name = excluded.campus_name
>
> I'm pretty sure this ought to read:
> ON CONFLICT (school_system_id, student_id, campus_name)
> DO
> UPDATE SET modified = EXCLUDED.modified,
> balance = EXCLUDED.balance,
> balance_as_of = EXCLUDED.balance_as_of
>
> Instead, you were re-assigning the keys (school_system_id, student_id,
> campus_name) to the same values again.
>
> Alban Hertroys
> --
> If you can't see the forest for the trees,
> cut the trees and you'll find there is no forest.
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Ben Hood 2018-05-10 10:19:36 Re: Domain based on TIMEZONE WITH TIME ZONE
Previous Message Alban Hertroys 2018-05-10 09:57:00 Re: ON CONFLICT DO UPDATE