Re: How to do an UPDATE for all the fields that do NOT break a constraint?

Поиск
Список
Период
Сортировка
От Matthias Karlsson
Тема Re: How to do an UPDATE for all the fields that do NOT break a constraint?
Дата
Msg-id 83eb635f0901260545u6c26d259s510c23046ca3d9a@mail.gmail.com
обсуждение исходный текст
Ответ на How to do an UPDATE for all the fields that do NOT break a constraint?  (Phoenix Kiula <phoenix.kiula@gmail.com>)
Ответы Re: How to do an UPDATE for all the fields that do NOT break a constraint?
Список pgsql-general
On Mon, Jan 26, 2009 at 2:09 PM, Phoenix Kiula <phoenix.kiula@gmail.com> wrote:
> I wonder if this is an SQL limitation or something I'm missing in the
> PG manual, but I need to run an update on my database (to replace the
> value of a column to match a new design structure).
>
> Due to the new business logic, the  replaced value of a field may end
> up being already present in the database in another record. This leads
> to unique key violations when I run the update.
>
> My question: I don't mind if the update transaction skips the records
> where the key would be violated (this preservation is in fact what we
> want) but these are only about 2% of the overall updatable records.
>
> Is there anyway to make the transaction go through with the remaining
> 98% of the update SQL which will in fact NOT violate the unique
> constraint?
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

You could always extend your update statement to include an additional
check to see if there are already rows present with the same value in
the field you are talking about.

// Matthias

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

Предыдущее
От: Phoenix Kiula
Дата:
Сообщение: How to do an UPDATE for all the fields that do NOT break a constraint?
Следующее
От: Phoenix Kiula
Дата:
Сообщение: Re: How to do an UPDATE for all the fields that do NOT break a constraint?