Que tal abimaelrc
Cita: ¿El reference es el que le dice al delete cascade que debe mirar?
Realmente lo que hace, es borrar todos los registros que tengan dependencia de dicho registro.
si no existiese la clausula
on delete cascade mysql genera un error de violación de integridad referencial.
Este se comporta exactamente igual a que los registros estuvieran en otra tabla y se borrara una primary key. Se borran todas las dependencias que existan. En este caso, se presenta en la propia tabla.
Un efecto curioso, es que al borrar de la tabla, observen como dice que se elimina únicamente 1 registro, cuando en realidad se están borrando 2. El segundo es invisible ante la borrada del primero.
saludos