Ver Mensaje Individual
  #8 (permalink)  
Antiguo 01/09/2009, 05:40
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: Problema Foreign Key Nula

Cita:
Quiza si te expico esto, veras que estas equivocado. Cuando defines una clave externa, puedes usar varias opciones: ON DELETE y ON UPDATE. Los parametros que se pueden usar con estas opciones son principalmente.

- CASCADE: Borrar o actualizar en cascada.
- SET NULL: Actualizar el campo al valor NULL.
No estoy completamente equivocado, ya que según el manual de referencia de MySQL:
Cita:
SET NULL: Borra o actualiza el registro en la tabla padre y establece en NULL la o las columnas de clave foránea en la tabla hija. Esto solamente es válido si las columnas de clave foránea no han sido definidas como NOT NULL. MySQL 5.0 soporta tanto ON DELETE SET NULL como ON UPDATE SET NULL.
Por lo que en cualquier otra situación, la restricción está activa.
En todo caso puedes decir que me había olvidado de agregar esta posibilidad.

Tal vez mi mayor error sea teórico: Cuando pongo una FK, es porque necesito esa integridad referencial. Ponerla por si se necesita, no se me da en muchos casos, así que rara vez la tengo en cuenta.... Habitualmente en ese caso administro el problema a nivel de aplicación (formularios), para evitar que el usuario ponga cosas sin sentido.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)