![]() |
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. |
Re: Claves foráneas sobre una misma tabla Me parece que el problema lo tenés en el null de cdjefe. Cuando asocias una FK, esta no debe contener null (no tiene sentido). |
Re: Claves foráneas sobre una misma tabla Cita:
De todo modos, si funciona, me he hecho un lío con la edición en mysql-query-browser, al borrar no se actualizaba la pantalla. Un Saludo y gracias. |
| La zona horaria es GMT -6. Ahora son las 06:43. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.