Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/11/2010, 07:32
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 10 meses
Puntos: 574
Respuesta: Duda a la hora de crear un campo con multiples valores

Si pero NO tendras una estructura muy buena, ni te controlara que categorias puedes entrar en cada producto.

La forma correcta de hacer una relacion como esta n:m es

Productos
idProd
producto
....

Categorias
idCat
categoria
...

RelacionProdCat
idProd
idCat

Los 1000 o mas registros estaran en la ultima tabla pero esta solo guarda dos identificadores...

Y luego se consulta como


Código MySQL:
Ver original
  1. SELECT * FROM productos p inner join  RelacionProdCat r on p.idProd=r.idProd WHERE idCat=opcion

Aún que ahora no te lo parezca esto es mucho mas facil de mantener que un campo set.

Imagina que el producto 10 esta en las categorias 1,2,3,4,5,6,7,8,9,11,12 y por lo que sea deja de estar en la categoria 7

Con esta estructura solo tienes que hacer

Código MySQL:
Ver original
  1. DELETE RelacionProdCat WHERE idProd=10 and idCat=7;

Como lo harias con el campo set?

O un caso peor imagina que desaparece la categoria 7...


El tema de validar que categorias corresponden a cada producto lo dejo aparte....

Quim

Última edición por quimfv; 09/11/2010 a las 07:49