28/07/2013, 15:42
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años 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) |