02/02/2012, 11:03
|
| | Fecha de Ingreso: agosto-2008
Mensajes: 96
Antigüedad: 16 años, 4 meses Puntos: 3 | |
ON DELETE ¿Qué? Hola, tengo una duda y es que ya me esta matando..
A ver tengo una BBDD en MySQL y tengo una tabla padre (usuario) y una tabla hijo (acciones) con una clave ajena a la tabla padre, en esta clave tenía puesto un ON DELETE NO ACTION y ON UPDATE CASCADE, pensando que "NO ACTION" no ejecutaba ninguna acción sobre la fila de la tabla hijo, pero lo que no permite es eliminar la fila de la tabla padre si hay referencias desde la tabla hijo.
Mirando el manual de MySQL ha visto que puedo poner CASCADE, RESTRICT, NO ACTION, SET NULL
Entonces con NO ACTION y RESTRICT obtengo el mismo resultado entonces queda CASCADE, pero la intención es no perder ese registro de las acciones que hace un usuario aun este este eliminado, entonces podría ponerlo a NULL, pero en una de las tablas hijos ese campo es clave ajena pero también forma parte de la clave primaria con lo cual no puede valer null.
¿A alguien se le ocurre algo?
Gracias de ante mano y Saludos a todos. |