[Php-avanzado] relaciones foreign key

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Sab Jun 29 22:01:03 ART 2013


Hola Leandro,

	Si la clave primaria de la tabla Stock, como decís, es solo el ID
autoincremental, no hay conflicto con agregar el mismo producto en otro
almacén, ni con agregar un producto distinto en el mismo almacén, ni de
hecho habría problema con repetir el producto en el almacén.

	Lo que deberías tener para evitar la repetición es un índice único de
dos campos: idAlmacen, idProducto... pero esto no tiene que ver con las
claves foráneas (que sirven para garantizar la integridad de los datos
respecto de otra tabla)

	Las claves foráneas son un concepto, las claves primarias son otro
concepto.

	No estás confundiendo el idStock con el idProducto?

	Enviá la estructura de la tabla y lo vemos.


El sáb, 29-06-2013 a las 14:06 -0300, leandro saubiette escribió:
> La clave primaria de stock es id y las primarias foráneas son
> idAlmacen e idProducto. Así tengo entendido
> 
> El jun 29, 2013 2:03 p.m., "Leonardo Tadei - Pegasus Tech Supply"
> <leonardot en pegasusnet.com.ar> escribió:
>         Hola Leandro,
>         
>                 Tenés mal la clave primaria, y por eso tenés este
>         problema.
>         
>                 Cual es el campo o campos que es clave primaria de la
>         tabla Stock???
>         
>         
>         PD: después si la clave es foránea o no, no hay diferencia.
>         
>         
>         El sáb, 29-06-2013 a las 13:20 -0300, leandro saubiette
>         escribió:
>         > Leo al agregar una fila en la tabla stock si quiero agregar
>         al mismo
>         > stock otro producto, me salta error porque no puedo agregar
>         a un stock
>         > que que ya existe otro producto porque uso como clave
>         primaria
>         > idStock, Como hago para que idProducto e idAlmacen sean
>         primary
>         > foreign key?
>         > _______________________________________________
>         > Php-avanzado mailing list
>         > Php-avanzado en pato2.fi.mdp.edu.ar
>         >
>         http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>         
>         --
>         Leonardo Tadei
>         leonardot en pegasusnet.com.ar
>         Web: http://leonardo.tadei.com.ar
>         Firma pública:
>         http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>         
>         _______________________________________________
>         Php-avanzado mailing list
>         Php-avanzado en pato2.fi.mdp.edu.ar
>         http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado