Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

como hago esta consulta?

Estas en el tema de como hago esta consulta? en el foro de Mysql en Foros del Web. Haber. Estructura de la BD: tabla de marcas campos: Id_Marca table de modelos campos: Id_Marca Id_Modelo tabla de model_cons campos: Id_Modelo Id_Cons tabla consumibles campos: ...
  #1 (permalink)  
Antiguo 13/06/2008, 03:25
Avatar de flanagan44  
Fecha de Ingreso: abril-2004
Mensajes: 182
Antigüedad: 20 años
Puntos: 2
como hago esta consulta?

Haber.
Estructura de la BD:

tabla de marcas
campos: Id_Marca
table de modelos
campos: Id_Marca
Id_Modelo
tabla de model_cons
campos: Id_Modelo
Id_Cons
tabla consumibles
campos: Id_Cons


me interesa que al eliminar una marca me elimine todo lo que tiene enlazado hacia abajo, es decir que me elimine los modelos de esa marca y todos los consumibles de esos modelos.

Si podeis echarme una mano os lo agradeceria

Un saludo
  #2 (permalink)  
Antiguo 13/06/2008, 04:08
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: como hago esta consulta?

Hola flanagan44,

Si usas tablas InnoDB, create 2 constraints, y le pones que on delete que borre todo en cascada.

Código:
|marcas|------FK(id_marca = id_marca)----<|modelos|---FK(id_modelo= id_modelo)---<|consumibles|

Para la tabla MODELOS:
CONSTRAINT `FK_MODELOS_IDMARCA` FOREIGN KEY (`id_marca`) REFERENCES `marcas` (`id_marca`) ON DELETE CASCADE ON UPDATE CASCADE;

Para la tabla CONSUMIBLES:
CONSTRAINT `FK_CONSUMIBLES_IDMODELO` FOREIGN KEY (`id_modelo`) REFERENCES `modelos` (`id_modelo`) ON DELETE CASCADE ON UPDATE CASCADE;
Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:13.