Skip site navigation (1) Skip section navigation (2)

Pas de contrainte référeŠÊ<óŸuB{bzY^ vers un champ non-UNIQUE :-(

From: Stephane Bortzmeyer <bortzmeyer(at)nic(dot)fr>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Pas de contrainte référeŠÊ<óŸuB{bzY^ vers un champ non-UNIQUE :-(
Date: 2008-09-08 14:56:35
Message-ID: 20080908145635.GA14047@nic.fr (view raw or flat)
Thread:
Lists: pgsql-fr-generale
J'essaie de mettre une contrainte référentielle mais le champ visé n'a
pas été déclaré comme UNIQUE :

essais=> CREATE TABLE Foo(name TEXT NOT NULL);
CREATE TABLE
essais=> CREATE TABLE Bar(truc TEXT, machin TEXT REFERENCES Foo(name));
ERROR:  there is no unique constraint matching given keys for referenced table "foo"

[Si Foo(name) est déclaré UNIQUE, cela passe.]

Première question : pourquoi PostgreSQL 8.3 impose t-il cette
contrainte supplémentaire qui ne me semble pas logique ?

Deuxième question : quel contournement utiliser à part abandonner la
sécurité que me fournit REFERENCES ?

Responses

pgsql-fr-generale by date

Next:From: Jean-Samuel ReynaudDate: 2008-09-08 15:16:30
Subject: Re: Pas de contrainte référentielle vers un champ non-UNIQUE :-(
Previous:From: Thibaut LE LEVIERDate: 2008-09-05 11:04:00
Subject: Re: pg_hba.conf

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group