Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/08/2010, 06:31
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: 17 años
Puntos: 2658
Respuesta: El "ON UPDATE CASCADE ON DELETE CASCADE" no funciona

Cita:
El Problema es que el ON UPDATE CASCADE ON DELETE CASCADE no se modifican en las tablas correspondientes y me aparece siempre un 0.
Alguna idea?
Lo que estás haciendo son INSERTS, no UPDATES, por lo cual el evento controlado por ON UPDATE CASCADE no se produce.
El sentido y función de un ON UPDATE CASCADE ON DELETE CASCADE es que si se modifica la PK de la tabla primaria, se actualice en las tablas dependientes ese mismo valor para todos los registros relacionados; no significa que si insertas un registro en la primaria, este se inserte en la secundaria. Eso no existe.
Para que sea más claro: Si has insertado el país Nro. 4 en PAISES, e insertado una ciudad en CIUDADES que has relacionado con ese páis 4, si por alguna razón decides cambiar el ID 4 por 235, MySQL automáticamente buscará todos los registros de ciudades que tengan el ID de país en 4 y lo reemplazará por 235. Peor no creará nuevos registros.
¿Eso lo entiendes, no?

Por otro lado, si estás operando correctamente, pero usando tablas MyISAM, estas no poseen FK, por lo que el ON DELETE... ON UPDATE es inoperante.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)