Re: What is the postgres version of mysql's "ON DUPLICATE KEY" - Mailing list pgsql-general

From Gaetano Mendola
Subject Re: What is the postgres version of mysql's "ON DUPLICATE KEY"
Date
Msg-id 41422472.6040101@bigfoot.com
Whole thread Raw
Responses Re: What is the postgres version of mysql's "ON DUPLICATE KEY"  (Kevin Barnard <kevin.barnard@gmail.com>)
List pgsql-general
Nick wrote:

> I have a table with columns
> (product_id,related_product_id,related_counter)
>
> If product A is related to product B then a record should be created,
> if the record already exists then the related_counter should be
> incremented.
>
> This is very easy to do with MySQL using INSERT... ON DUPLICATE KEY.
> Standard or not, it is very usefull.
>
> Is there a way to catch the insert error. For example...
>
> INSERT INTO related_products (product_id,related_product_id) VALUES
> (?,?);
> IF (???error: duplicate key???) THEN
> UPDATE related_products SET related_counter = related_counter + 1;
> END IF;
>
> -Nick

With a rule you can do it easily ( never tried ).


Regards
Gaetano Mendola






pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Speeding up LIKE with placeholders?
Next
From: Bruce Momjian
Date:
Subject: Re: 8.0.0beta2: Ownership of implicit sequences after dump/restore