Re: problem with on conflict / do update using psql 14.4

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: problem with on conflict / do update using psql 14.4
Дата
Msg-id CAKFQuwb0_tutoHqBCz-T2dPKnyjHuRPJBA0HOUVEqyOSihf_XQ@mail.gmail.com
обсуждение исходный текст
Ответ на problem with on conflict / do update using psql 14.4  (Barry Kimelman <blkimelman@gmail.com>)
Ответы Re: problem with on conflict / do update using psql 14.4  (Barry Kimelman <blkimelman@gmail.com>)
Список pgsql-general
On Fri, Sep 23, 2022 at 2:28 PM Barry Kimelman <blkimelman@gmail.com> wrote:

CREATE UNIQUE INDEX my_companies_id_unique ON my_companies(string_company_id) WHERE delete_timestamp IS NULL;
CREATE UNIQUE INDEX my_companies_company_name_unique ON my_companies(company_name) WHERE delete_timestamp IS NULL;

I issued the following sql insert in an attempt to use "on conflict" to update the
duplicate column name

insert into my_companies (second_id,string_company_id,company_name,person_name)
values (1,'66','widgets','seller-toto')
on conflict (company_name) do update set company_name = concat(company_name,'++',string_company_id);


when I ran my sql statement I received the following error message

bkimelman=# \i insert-companies-1c.sql
psql:insert-companies-1c.sql:3: ERROR:  column reference "company_name" is ambiguous
LINE 3: ...company_name) do update set company_name = concat(company_na...

I tried fully qualifying the column names in the concat() function call,
but all that did was get me a different error message

Which is the more interesting one since the ambiguous column name error you did show has been resolved...


What would be the proper format for the "on conflict" clause ?

I think that since your index is partial you need to modify your insert command's on conflict clause to include a matching where clause.  (WHERE index_predicate)


David J.

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

Предыдущее
От: Steve Baldwin
Дата:
Сообщение: Re: problem with on conflict / do update using psql 14.4
Следующее
От: Barry Kimelman
Дата:
Сообщение: Re: problem with on conflict / do update using psql 14.4