pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Richard Huxton <dev@archonet.com>
To: ries@jongert.nl
To: pgsql-sql@postgresql.org
Subject: Re: Dublicates pairs in a table.
Date: Mon, 16 Sep 2002 16:08:27 +0100
Message-ID: <200209161608.27501.dev@archonet.com> (raw)
In-Reply-To: <000201c25d90$87230c10$6500000a@IT000>
References: <000201c25d90$87230c10$6500000a@IT000>

On Monday 16 Sep 2002 3:51 pm, Ries van Twisk wrote:
> Dear guys/girls,
>
> I have a small question which I could not clearly find in the postgreSQL
> manual.
>
> if I create this table and index
> CRAEATE TABLE test (
> 	id	SERIAL,
> 	c1	VARCHAR(32),
> 	c2	VARCHAR(32),
> 	c3	VARCHAR(32)
> );
>
> CREATE UNIQUE INDEX test_idx ON test(id, c1,c2);

Close, try

CREATE UNIQUE INDEX test_idx ON test (c1,c2)

> what I try to archive here is that I don't want duplicate pais in my table:
> example
>
> INSET INTO test (c1,c2) VALUES('a', 'a');	-- Not allowed since we already
> have a duplicate ('a', 'a') pair

> What I want to know is that if this is smart do do, or is there a other
> better way to make sure I don't insert duplicate pairs in my database.
> I'm not sure if a stored procedure is better in my case since I don't
> really need the index on columns c1 or c2.

Unless test is a very small table with lots of inserts/deletions I'd just use 
the index, otherwise you'll have to scan the table and check for another copy 
anyway.

HTH

- Richard Huxton



view thread (10+ messages)  latest in thread

Message-ID: <200209161608.27501.dev@archonet.com>
Permalink:  ../200209161608.27501.dev@archonet.com/
Also on:    postgresql.org/message-id/200209161608.27501.dev@archonet.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: dev@archonet.com, ries@jongert.nl
  Subject: Re: Dublicates pairs in a table.
  In-Reply-To: <200209161608.27501.dev@archonet.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox