Programación en castellano
Inicio > Foros > Bases de datos y SQL > Problemas con Foreign Keys ("can't create table... ")
-Foros de debate

Bases de datos y SQL
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Problemas con Foreign Keys ("can't create table... ")
Enviado por Fernando Poblete Arrau el día 5 de agosto de 2004

Hola, mi problema es:
tengo una tabla (la voy a llamar TablaA) con una Primary Key de dos campos, cada uno de los cuales es una Foreign Key hacia una Primary Key de otras tablas (TablaB y TablaC).
En la tabla A cree indices para ambos campos y todas las tablas son tipo InnoDB.
Estoy haciendo lo siguiente:

ALTER TABLE TablaA
ADD CONSTRAINT C1 FOREIGN KEY(campo1) REFERENCES TablaB(campoX) ON DELETE CASCADE ON UPDATE CASCADE;

ALTER TABLE TablaB
ADD CONSTRAINT C2 FOREIGN KEY(campo2) REFERENCES TablaB(campoX) ON DELETE CASCADE ON UPDATE CASCADE;

Obtengo el siguiente mensaje de error:
ERROR 1005: Can't create table './test/#sql-84b_4.frm' (errno: 150)

¿alguien me puede ayudar?
Muchas gracias.

 
Re: Problemas con Foreign Keys ("can't create table... ")
Enviado por Rodolfo Reyes el día 5 de agosto de 2004

En el segundo alter table estas haciendo un Alter Table de la tablaB y haciendo referencia ha la tablaB, en pocas palabras estas creando una relación de uno a muchos sobre la misma tabla.

 
Re: Re: Problemas con Foreign Keys ("can't create table... ")
Enviado por Fernando Poblete Arrau el día 6 de agosto de 2004

Tienes razon, en realidad, me equivoque al tipearlo ahora aca en el foro. Ambos ALTER son sobre la tabla A.
Gracias pero el error no esta en eso.

 


Re: Problemas con Foreign Keys ("can't create table... ")
Enviado por Rodolfo Reyes el día 6 de agosto de 2004

Lo unico que se me ocurre es que los datos de los campos que tienes creados en al tablas TablaA que hacen referencia ha la TablaB y TablaC violen la integridad referencial, por lo cual no podrias crear las llaves foraneas.

 
Re: Re: Problemas con Foreign Keys (\
Enviado por Fernando Poblete Arrau el día 9 de agosto de 2004

Hola, gracias por la respuesta, pero las tablas las tengo vacías, no es ese el problema ..
Me falto decir que estoy en MySQL 4.0

 
Re: Re: Re: Problemas con Foreign Keys (\
Enviado por Maren el día 17 de enero de 2006

Hola!!! yo tengo exacatemante el mismo problema de Fernando. Hasta el momento no he podido crear una sola llave foranea y mis tablas estan vacias. Estoy trabajando con la version 5.0.18 porque inclusive la baje pensando que era problemas de la 4..... por fa.. alquien que me de una ayudita. gracias... :-D

 



Re: Problemas con Foreign Keys ("can't create table... ")
Enviado por dabit el día 18 de enero de 2006

Yo tuve también ese problema cargando un script, y lo solucioné cambiando el orden de las órdenes.

Intenta crear primero los indices de la tabla que vas a referenciar antes de hacer el foreign key.

Prueba a ver si esto te valiese.

1 saludo

 
Re: Re: Problemas con Foreign Keys (\
Enviado por Juan el día 7 de febrero de 2006

Verifica que los tipos de los campos de las llaves foraneas en las dos tablas sean exactamente iguales. A mi me dio ese problema y con eso lo resolvi.

 
Re: Re: Re: Problemas con Foreign Keys (\
Enviado por Sgo0x el día 17 de marzo de 2008

Anduve buscando y no encontraba la solucion, hasta que revisé y reviseé otra vez la BD y la definicion de las tablas, y tenia exactamente el mismo problema que vosotros pero habia definido que las llaves fueran exactamente declaradas como UNSIGNED lo que creaba el error 1005, una vez que correji eso se acabo el problema

 




Tienda
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad
Mantenida por: Claudio y Dani.

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | amor | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | gratis | posicionamiento en buscadores | decoración libre | gifs animados