From: | "Bart Degryse" <Bart(dot)Degryse(at)indicator(dot)be> |
---|---|
To: | "remco lengers" <pgsql(at)lengers(dot)com>, <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: ERROR: duplicate key violates unique constraint |
Date: | 2007-03-20 09:20:32 |
Message-ID: | 45FFB56F.A3DD.0030.0@indicator.be |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Use
INSERT INTO reference(reference_text, reference_type, Topic_Id) VALUES (DEFAULT,'123','2',1);
instead.
Since referencelist_nr is a serial PostgreSQL will provide the next free integer itself.
>>> "remco lengers" <pgsql(at)lengers(dot)com> 2007-03-20 10:11 >>>
Hi List,
Its been a while since I worked with databases and I am running into the following which I have not been able to find the root cause for:
I have the follow SQL statement:
INSERT INTO reference VALUES (DEFAULT,'123','2',1);
Which generates the following error:
"ERROR: duplicate key violates unique constraint "reference_pkey""
And the table definition looks like:
CREATE TABLE reference (
referencelist_nr serial unique,
reference_text varchar(40) NOT NULL,
reference_type integer NOT NULL,
Topic_Id integer NOT NULL,
PRIMARY KEY (referencelist_nr),
FOREIGN KEY (Topic_Id) REFERENCES Topic (Topic_Id),
FOREIGN KEY (reference_type) REFERENCES reference_type (reference_type_nr)
);
It seems to me for some reason "DEFAULT" doesn't select the next SERIAL.
If I run:
INSERT INTO reference VALUES (14,'123','2',1);
14 being the next free integer it works fine.....
I have been adding data with "COPY" into this table....does that break something?
Your help/tips/insights are appreciated.
Solaris 10/Postgresql 8.1.4
Regards,
..Remco
From | Date | Subject | |
---|---|---|---|
Next Message | Stefan Ionita | 2007-03-20 09:27:23 | unsubscribe |
Previous Message | Stefan Ionita | 2007-03-20 09:17:43 | unsubscribe |