unique key problem on update

From: Gary Stainburn <gary(dot)stainburn(at)ringways(dot)co(dot)uk>
To: "pgsql-sql(at)postgresql(dot)org" <pgsql-sql(at)postgresql(dot)org>
Subject: unique key problem on update
Date: 2013-09-20 16:07:55
Message-ID: 201309201707.56028.gary.stainburn@ringways.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi folks.

I've got the table and data shown below.

I want to add a new page after page 2 so I try to increase the sequence number
of each row from page 3 onwards to make space in the sequence for the new
record. However, I get duplicate key errors when I try. Can anyone suggest
how I get round this.

Also, the final version will be put onto a WordPress web site which means I
will have to port it to MYSQL which I don't know, so any solution that will
work with both systems would be a great help.

Ta

Gary

stainburn=# \d skills_pages
Table "public.skills_pages"
Column | Type | Modifiers
-------------+-----------------------+--------------------------------------------------------------
sp_id | integer | not null default
nextval('skills_pages_sp_id_seq'::regclass)
sp_sequence | integer | not null
sp_title | character varying(80) |
sp_narative | text |
Indexes:
"skills_pages_pkey" PRIMARY KEY, btree (sp_id)
"skills_pages_sequence" UNIQUE, btree (sp_sequence)

stainburn=# select * from skills_pages;
sp_id | sp_sequence | sp_title | sp_narative
-------+-------------+------------------+-------------
1 | 10 | Departments |
2 | 20 | Interest Groups |
3 | 30 | Customer Focused |
4 | 40 | Business Roles |
5 | 50 | Commercial |
6 | 60 | People Oriented |
7 | 70 | Engineering |
(7 rows)

stainburn=# update skills_pages set sp_sequence=sp_sequence+10 where
sp_sequence >= 30;
ERROR: duplicate key value violates unique constraint "skills_pages_sequence"
stainburn=#

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Thomas Kellerer 2013-09-20 16:26:58 Re: unique key problem on update
Previous Message Luca Ferrari 2013-09-20 13:47:38 Re: detect initiator of update/delete action