Strange behaviour updating primary key column.

From: Luis Neves <lneves(at)netcabo(dot)pt>
To: pgsql-sql(at)postgresql(dot)org
Subject: Strange behaviour updating primary key column.
Date: 2004-06-21 06:29:06
Message-ID: 200406210729.07185.lneves@netcabo.pt
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


[Sorry if this is a double post.]

Hello all,

[Postgresql 7.4.2]
CREATE TABLE "story" (
"id" int4 NOT NULL,
"title" varchar (100) NOT NULL,
"body" text NOT NULL,
"entryDate" timestamptz NOT NULL,
CONSTRAINT "story_pkey" PRIMARY KEY (id)
);

In the above table why does the query:

UPDATE "story"
SET id = (id + 1500);

fails with:
"ERROR:  duplicate key violates unique constraint 'story_pkey'"

(I have 6000 records in the table with "id" spanning from 1 to 6000)

I find this behaviour strange, SQL is a set based language, but
PostgreSQL is acting like is changing the values in sequence.

Can anyone with a better understanding of PostgreSQL explain to me why this
happens?
Are my expectations wrong?

Best regards,
Luis Neves

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Torsten Lange 2004-06-21 08:08:46 Re: pivot-like transformation
Previous Message Pradeepkumar, Pyatalo (IE10) 2004-06-21 06:21:19 Function Parameters - need help !!!