[Pgsql-ayuda] problemas con foreign key
Martín Marqués
martin@bugs.unl.edu.ar
Sat, 31 Jan 2004 13:53:17 -0300
El Vie 30 Ene 2004 20:51, Alvaro Herrera escribió:
> On Fri, Jan 30, 2004 at 06:06:26PM +0000, nuria montoya rodriguez wrote:
>
> > CREATE TABLE table_name(
> > ...
> > CONSTRAINT constraint_name FOREIGN KEY(campo1,campo2) REFERENCES
> > ref_table(ref_campo1,ref_campo2));
> > *campo1 y campo2 son las únicas claves primarias de esta tabla.
> > *ref_campo1 y ref_campo2 son claves primarias de ref_table, pero hay ot=
ra
> > más en está tabla(ref_table)
> >
> > ERROR: UNIQUE constraint matching give keys for referenced table
> > "ref_table" not found.
>
> A ver ... el ref_table tienes UNIQUE ref_campo1 y UNIQUE ref_campo2?
> Si ese es el caso, no se puede. Lo que necesitas es
> UNIQUE (ref_campo1, ref_campo2).
Si queremos ponernos en exquisitos, deberiamos hacer algo como:
PRIMARY KEY (ref_campo1, ref_campo2)
Mantiene la unicidad del par de campos, y no permite que ninguno de los campos
de la llave primaria tomen el valor nulo (NULL).
--
select 'mmarques' || '@' || 'unl.edu.ar' AS email;
---------------------------------------------------------
Martín Marqués | Programador, DBA
Centro de Telemática | Administrador
Universidad Nacional
del Litoral
---------------------------------------------------------