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

DELETE en varias tablas cuando registro no existe en alguna tabla

Estas en el tema de DELETE en varias tablas cuando registro no existe en alguna tabla en el foro de Mysql en Foros del Web. De antemano gracias por la ayuda brindada. Tengo 10 tablas en mi bd. Lo que necesito es buscar el registro con id=1234 en todas las ...
  #1 (permalink)  
Antiguo 04/02/2012, 22:36
 
Fecha de Ingreso: septiembre-2008
Mensajes: 16
Antigüedad: 15 años, 7 meses
Puntos: 0
Sonrisa DELETE en varias tablas cuando registro no existe en alguna tabla

De antemano gracias por la ayuda brindada. Tengo 10 tablas en mi bd. Lo que necesito es buscar el registro con id=1234 en todas las tablas y borrarlo en las tablas que exista. El problema es que el registro solo se encuentra en algunas tablas. Tengo la siguiente consulta pero solo sirve si el registro se encuentra en todas las tablas:

DELETE t1,t2,t3,t4.............
FROM
t1 join t2 ON t1.id=t2.id
t2 join t3 ON t2.id=t3.id
t3 join t4 ON t3.id=t4.id
.
.
.

WHERE t1.id='1234';

Como hago para borrar el registro de todas las tablas sin hacerlo tabla por tabla teniendo en cuenta que el registro no se encuentra en todas las tablas???
  #2 (permalink)  
Antiguo 05/02/2012, 18:41
 
Fecha de Ingreso: septiembre-2008
Mensajes: 16
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: DELETE en varias tablas cuando registro no existe en alguna tabla

Alguien que sepa como hacerlo??
  #3 (permalink)  
Antiguo 14/02/2012, 04:12
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: DELETE en varias tablas cuando registro no existe en alguna tabla

Esas tablas tiene alguna relacion entre si?

Existe una tabla "principal" donde esten TODOS los id?

si existe esa tabla principal luego lo que tienes que hacer es referenciar las demas tablas a esa principal y establecer ON DELETE CASCADE... así cuando borres un id de la tabla principal automaticamente se borrará de todas las tablas referenciadas que contengan ese mismo id.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
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 14:07.