Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > Mysql

Respuesta
 
Herramientas Desplegado
Antiguo 28-mar-2008, 15:29   #1 (permalink)
garkones ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2006
Mensajes: 3
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.
garkones está desconectado   Responder Citando
Antiguo 29-mar-2008, 05:52   #2 (permalink)
cmarti está en el buen camino
 
Avatar de cmarti
 
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 329
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).
__________________
When all else is lost the future still remains.
cmarti está desconectado   Responder Citando
Antiguo 29-mar-2008, 08:20   #3 (permalink)
garkones ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2006
Mensajes: 3
Re: Claves foráneas sobre una misma tabla

Cita:
Iniciado por cmarti Ver Mensaje
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).
En este caso si, hay empleados que no tienen ningún jefe, por tanto cdjefe es null.

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.
garkones está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 00:38.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93