Re: incrementing without violating a constraint - Mailing list pgsql-general

From Andreas Kretschmer
Subject Re: incrementing without violating a constraint
Date
Msg-id 1625204617.380038.1390229214328.JavaMail.open-xchange@ox.ims-firmen.de
Whole thread Raw
In response to incrementing without violating a constraint  ("Michael P. Soulier" <michael_soulier@mitel.com>)
List pgsql-general

"Michael P. Soulier" <michael_soulier@mitel.com> hat am 20. Januar 2014 um 15:33
geschrieben:
> Hi,
>
> I have a uniqueness constraint on an integer value in a table where I would
> like to mass increment all of the existing rows.
>
> ie.
> update rules set rule_number = rule_number + 1;
>
> This violates the uniquness constraint. Is there a way to say, turn off the
> constraint, run the update and then turn it back on?
>
> Thanks,
> Mike

test=# \d mike
     Table "public.mike"
 Column |  Type   | Modifiers
--------+---------+-----------
 id     | integer | not null
Indexes:
    "mike_pkey" PRIMARY KEY, btree (id)

test=# begin;
BEGIN
test=*# alter table mike drop constraint "mike_pkey";
ALTER TABLE
test=*# update mike set id=id+1;
UPDATE 3
test=*# alter table mike add primary key (id);
ALTER TABLE
test=*# select * from mike ;
 id
----
  2
  3
  4
(3 rows)


pgsql-general by date:

Previous
From: "Michael P. Soulier"
Date:
Subject: Re: incrementing without violating a constraint
Next
From: Michael Nolan
Date:
Subject: Re: to_date() and invalid dates