Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/03/2008, 15:29
garkones
 
Fecha de Ingreso: noviembre-2006
Mensajes: 56
Antigüedad: 17 años, 6 meses
Puntos: 1
Claves foráneas sobre una misma tabla

Hola, no consigo que me funcionen las relaciones reflexivas, pongo un ejemplo:

CREATE TABLE `gestionproyectos`.`test` (
`cdemp` char(3) collate utf8_spanish_ci NOT NULL,
`cdjefe` char(3) collate utf8_spanish_ci default NULL,
PRIMARY KEY (`cdemp`),
KEY `cdjefe` (`cdjefe`),
CONSTRAINT `test_ibfk_1` FOREIGN KEY (`cdjefe`) REFERENCES `test` (`cdemp`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci

Añado los datos:
cdemp cdjefe
1 ------ null
2 ------ 1
3 ------ 1

Lo que quiero es que si borro la fila con el codigo de empleado=1 se borren en cascada todos las filas que codigo jefe=1, ¿estoy haciendo algo mal? o es que no puede hacerse esto en MySQL? En Oracle va perfecto.

Un Saludo.