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

Delete+join

Estas en el tema de Delete+join en el foro de Mysql en Foros del Web. Buen día que tal y un saludo desde luego a todos por aquí, quisiera saber si es posible que me puedan ayudar un poco con ...
  #1 (permalink)  
Antiguo 29/03/2013, 21:53
 
Fecha de Ingreso: noviembre-2011
Ubicación: Paris
Mensajes: 450
Antigüedad: 12 años, 5 meses
Puntos: 7
Delete+join

Buen día que tal y un saludo desde luego a todos por aquí, quisiera saber si es posible que me puedan ayudar un poco con lo siguiente, estoy tratando eliminar 1 registro de 2 tablas relacionadas en un solo query (Les comento que ya busque pero no he podido lograr lo que quiero), sentencia es la siguiente:
Código SQL:
Ver original
  1. DELETE * FROM registros
  2. INNER JOIN empleados_extra ON registros.folio = empleados_extra.id_folio
  3. WHERE registros.folio = 94475871092

Última edición por gnzsoloyo; 29/03/2013 a las 22:02 Razón: Etiquetado erroneo.
  #2 (permalink)  
Antiguo 29/03/2013, 22:07
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Delete+join

El borrado de datos relacionados por medio de JOIn tiene sus bemoles, e incluso no siempre es efectivo. Depende del caso, y hay que analizar la estructura de las tablas y sus dependencias.

Por lo pronto, yo te sugiero que revises bien el manual de referencia, donde se explican las complicaciones que el caso tiene (http://dev.mysql.com/doc/refman/5.0/es/delete.html).
Por otro lado, hay que verificar si hay más dependencias que no sean evidentes de la tabla "registro"", y de la "empleados_extra", ya que cualquier otra tabla donde "registros.folio" se relacione como FK, por ejemplo, impedirá el borrado, por integridad referencial.
Ese suele ser el problema más habitual, que muchas veces no se analiza bien.

Revisa las tablas, verifica que esos registro no impacten en otras tablas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/03/2013, 23:25
 
Fecha de Ingreso: noviembre-2011
Ubicación: Paris
Mensajes: 450
Antigüedad: 12 años, 5 meses
Puntos: 7
Respuesta: Delete+join

Gracias gnzsoloyo por tu respuesta, no afecta a otras tablas, entonces como recomiendas hacerlo?
Salud!
  #4 (permalink)  
Antiguo 29/03/2013, 23:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Delete+join

Probemos:
Código MySQL:
Ver original
  1. DELETE registros, empleados_extra
  2. FROM registros INNER JOIN empleados_extra ON registros.folio = empleados_extra.id_folio
  3. WHERE registros.folio = 94475871092
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 30/03/2013, 00:06
 
Fecha de Ingreso: noviembre-2011
Ubicación: Paris
Mensajes: 450
Antigüedad: 12 años, 5 meses
Puntos: 7
Respuesta: Delete+join

Muchas gracias, todo salio correctamente
Saludos!

Etiquetas: join, registros, tabla
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 01:52.