Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/07/2013, 15:42
Avatar de gnzsoloyo
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: desactivar llave foranea para poder eliminar registro

Hay tres opciones que puedes usar:
1) No borres el libro. Decláralo dado de baja con un campo adicional fechaBaja que sea nulable, lo mismo que el fechaAlta sea NOT NULL. De ese modo podrás tener trazabilidad de las altas y bajas, y no te causará problemas con las dependencias. Por supuesto que ese esquema (que es el que se suele usar en la realidad, implica que tus consultas deben considerar siempre la posibilidad de que el libro buscado no esté activo.
2) Usa dos sentencias para dar de baja: Una para borrar todos los prestamos donde aparezca el libro, y otra para borrar el libro.
3) Redefine la constriaint FK como ON DELETE CASCADE ON UPDATE CASCADE, y deja que el problema lo resuelta MySQL.

¿Lo óptimo?
El primer caso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)