Foros del Web » Programando para Internet » PHP »

borrar en cascada

Estas en el tema de borrar en cascada en el foro de PHP en Foros del Web. no sé si voy a ser capaz de explicarme, lo que pretendo es borrar con una sola inctrucción todas las filas hijo y todas las ...
  #1 (permalink)  
Antiguo 20/06/2005, 09:39
 
Fecha de Ingreso: abril-2005
Ubicación: vivo donde puedo
Mensajes: 133
Antigüedad: 19 años
Puntos: 0
borrar en cascada

no sé si voy a ser capaz de explicarme, lo que pretendo es borrar con una sola inctrucción todas las filas hijo y todas las filas nieto de un registro. también me interesa la posibilidad de borrar en esta misma instrucción la fila padre.

delete * from padre as p hijo as h nieto as n
where num_padre.h=num_padre.p
and
num_hijo.n=num_hijo.h
and
num_padre.p=combo seleccionado

donde

num_padre es la clave principal de la tabla padre y la clave secundaria de la tabla hijo
num_hijo es la clave principal de la tabla hijo y la clave secundaria de la tabla nieto
combo seleccionado es un combo con la clave principal de los registros de la tabla padre.

necesitaría ayuda para perfeccionar este seudcódigo

1. como se haría para borrar las filas padre, hijo y nieto.

2. como se haría para borrar solo las filas hijo y nieto.

os agradecería cualquier comentario por breve que fuera y/o una dirección donde pudiera documentarme.
__________________
Visita mi página web.Carlos Zapata Company
Visita mi blog.
Únete a mi lista de correo.
--------------------------------------------------
La identidad no es lo que fuimos, ni lo que creemos que somos; la identidad es cómo miramos la mundo.

José Luis Rodríguez Zapatero, actual presidente del Gobierno español.
  #2 (permalink)  
Antiguo 20/06/2005, 10:18
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 9 meses
Puntos: 0
Si tienes implementada la integridad referencial al borrar el padre ya se borran los hijos y los hijos de los hijos.

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #3 (permalink)  
Antiguo 21/06/2005, 03:13
 
Fecha de Ingreso: abril-2005
Ubicación: vivo donde puedo
Mensajes: 133
Antigüedad: 19 años
Puntos: 0
utilizo mysql, creo que no tiene integridad referencial.
__________________
Visita mi página web.Carlos Zapata Company
Visita mi blog.
Únete a mi lista de correo.
--------------------------------------------------
La identidad no es lo que fuimos, ni lo que creemos que somos; la identidad es cómo miramos la mundo.

José Luis Rodríguez Zapatero, actual presidente del Gobierno español.
  #4 (permalink)  
Antiguo 21/06/2005, 08:53
 
Fecha de Ingreso: febrero-2004
Ubicación: Bogotá, Colombia
Mensajes: 191
Antigüedad: 20 años, 2 meses
Puntos: 1
Si no hay integirdad referencial no se puede hacer lo que necesita.
Trabaje con tablas tipo InnoDB y al crear los constraints añada ON DELETE CASCADE.
Y ahi si funcionaria
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




La zona horaria es GMT -6. Ahora son las 17:52.