Re: REFERENCE problem with parent_table

From: Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>
To: gustavo halperin <ggh(dot)develop(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: REFERENCE problem with parent_table
Date: 2006-08-15 19:40:26
Message-ID: 20060815123901.D67764@megazone.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, 15 Aug 2006, gustavo halperin wrote:

> Hello
>
> I need many tables of type "id" and "name", see below:
> / CREATE TABLE id_names (
> id smallint CONSTRAINT the_id PRIMARY KEY NOT NULL,
> name text CONSTRAINT the_name UNIQUE
> ) WITH OIDS;/
> therefore I created these tables with the "LIKE" operator, see below:
> / CREATE TABLE like_id_1( LIKE id_names INCLUDING DEFAULTS ) WITH OIDS;
> CREATE TABLE like_id_2 ( LIKE id_names INCLUDING DEFAULTS ) WITH OIDS;
> CREATE TABLE like_id_3 ..../
> Next I can't create a table with some column reference to any of the
> last two tables, see below:
> / database=# CREATE TABLE ref_1 ( id_1 smallint CONSTRAINT the_id_1
> REFERENCES like_id_1 (id) );
> ERROR: there is no unique constraint matching given keys for
> referenced table "like_id_1"/
> Obviously if I use "id_names" instead of "like_id_1" every think is
> fine but my idea is not create thousands of almost same tables with the
> table name's like the only one difference. Then I thought to use the
> operator "LIKE", but you see, there are a problem. Any Idea about what
> must I do ??

The LIKE clause doesn't copy the UNIQUE/PRIMARY KEY constraints from
id_names. You'll probably need to add the constraint information to the
other tables.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Richard Broersma Jr 2006-08-15 19:52:06 Re: REFERENCE problem with parent_table
Previous Message gustavo halperin 2006-08-15 19:13:03 Re: REFERENCE problem with parent_table