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

[SOLUCIONADO] eliminar varios registros

Estas en el tema de eliminar varios registros en el foro de Mysql en Foros del Web. Hola amigos tengo un id_pac de paciente que se repiten como clave foranea en turno,historia clinica y familiar cuando quiero eliminar el paciente me da ...
  #1 (permalink)  
Antiguo 20/03/2014, 18:08
 
Fecha de Ingreso: febrero-2014
Ubicación: la banda
Mensajes: 31
Antigüedad: 10 años, 2 meses
Puntos: 0
eliminar varios registros

Hola amigos
tengo un id_pac de paciente que se repiten como clave foranea en turno,historia clinica y familiar cuando quiero eliminar el paciente me da error porq esta en la otras tablas tmb, queria saver como eliminar cierto registro y que se elimine en la otras tabla tmb

es con un inner join?
  #2 (permalink)  
Antiguo 20/03/2014, 19:37
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, 5 meses
Puntos: 2658
Respuesta: eliminar varios registros

No necesariamente.
El problema es que tienes una restricción de integridad referencial, que es la FK que tienes declarada en las otras tablas respecto de la de Pacientes. Para borrar un paciente debes previamente borrar a ese paciente de todas las tablas donde aparece relacionado.
Hay dos caminos para hacer eso:
1) Hacer una secuencia de DELETEs en cada una de las tablas, para eliminar todos los registros que haya con ese mismo Id de Paciente, borrando la de paciente sólo al terminar con todas las demás.
2) Redefinir todas las FK declaradas, y agregarles la cláusula ON DELETE CASCADE ON UPDATE CASCADE en cada caso. Eso hará que sea el propio MySQL el que administre el borrado en cascada de todas las demás tablas.

Obviamente, la mejor solución es la segunda porque es una modificación que sólo haces una única vez, y funcionará para todo borrado futuro de cualquier Paciente.

Este es un tema de manual básico. Vas a encontrar centenares de tutoriales sobre el tema en la Web. Deberías aprovechar Google para las dudas básicas.
__________________
¿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 20/03/2014, 20:13
 
Fecha de Ingreso: febrero-2014
Ubicación: la banda
Mensajes: 31
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: eliminar varios registros

si busco pero no sabia q iva a ser tan asi, me podrias dar un ejemplo de la 2° opcion porfavor
gracias por tu respuesta
  #4 (permalink)  
Antiguo 21/03/2014, 05:14
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, 5 meses
Puntos: 2658
Respuesta: eliminar varios registros

Cita:
me podrias dar un ejemplo de la 2° opcion porfavor


Es de manual, ya te dije...
Al menos consulta el manual de referencia: https://dev.mysql.com/doc/refman/5.6...eign-keys.html
__________________
¿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 21/03/2014, 05:53
 
Fecha de Ingreso: febrero-2014
Ubicación: la banda
Mensajes: 31
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: eliminar varios registros

gnzsoloyo ya logre solucionarlo lo ise con varios deletes nomas....pero gracias por responder

Etiquetas: delete
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 15:04.