Re: duplicate key violates unique constraint

From: Ron Johnson <ron(dot)l(dot)johnson(at)cox(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: duplicate key violates unique constraint
Date: 2006-09-19 02:34:33
Message-ID: 450F5739.9040803@cox.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 09/18/06 21:19, brian wrote:
> Ron Johnson wrote:
>> On 09/18/06 19:25, Jeff Davis wrote:
>>
>>> On Mon, 2006-09-18 at 19:47 -0300, vtaquette(at)globo(dot)com wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm trying to create a table with a PRIMARY KEY. The CREATE
>>>> statement looks
>>>> like this:
>>>>
>>>> CREATE TABLE "projects" (
>>>> "project_id" serial,
>>>> "username" varchar(30) NOT NULL default '',
>>>> "project_name" varchar(30) NOT NULL default '',
>>>> PRIMARY KEY ("project_id")
>>>> ) ;
>>>>
>>>> The problem is that sometimes, I would say 1 in 10 tries, when I use
>>>> a INSERT
>>>> command I get the following error:
>>>>
>>>> "duplicate key violates unique constraint"
>>>>
>>>> The INSERT query is that:
>>>> "INSERT INTO projects (\"project_name\", \"username\") VALUES
>>>> ('$project_name',
>>>> '$username')";
>>>>
>>>
>>> That INSERT statement will not cause a unique constraint violation. Are
>>> you sure that is the statement causing the problem? Are there any rules
>>> or triggers that may modify the behavior of that INSERT?
>>
>>
>> If there already are records in the table, sure it would.
>>
>> ...
>>
>> dupe_filenames=# insert into projects (project_id, username )
>> dupe_filenames-# values (1, 'foo');
>> INSERT 0 1
>> dupe_filenames=# insert into projects (project_id, username )
>> dupe_filenames-# values (2, 'bar');
>> INSERT 0 1
>>
>> ...
>>
>> dupe_filenames=# insert into projects (project_id, username )
>> dupe_filenames-# values (1, 'foo');
>> ERROR: duplicate key violates unique constraint "projects_pkey"
>>
>>
>
> If you insert a project_id, yes. The original query from vtaquette does
> not.

Ah, darn it. Gotta get those glasses.

Still, though...

# select * from projects;
project_id | username | project_name
- ------------+----------+--------------
1 | foo |
2 | bar |
(2 rows)

dupe_filenames=# insert into projects (project_name, username )
dupe_filenames-# values ('foo', 'bar');
ERROR: duplicate key violates unique constraint "projects_pkey"

- --
Ron Johnson, Jr.
Jefferson LA USA

Is "common sense" really valid?
For example, it is "common sense" to white-power racists that
whites are superior to blacks, and that those with brown skins
are mud people.
However, that "common sense" is obviously wrong.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFD1c5S9HxQb37XmcRAl5zAKC3wxSPwaFhGO58stMhryhrsKgFdwCg5729
gZTe/3iYcJO7aLY2IyixoUw=
=riVP
-----END PGP SIGNATURE-----

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message John Meyer 2006-09-19 03:07:09 vista
Previous Message brian 2006-09-19 02:19:32 Re: duplicate key violates unique constraint