Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Error clave foranea

Estas en el tema de Error clave foranea en el foro de Mysql en Foros del Web. Hola bueno dias, mirad estoy intentado hacer una clave foranea y me da error en la sentencia sql, estoy en phpmyadmin Tengo estas tablas Tabla ...
  #1 (permalink)  
Antiguo 02/09/2011, 04:20
 
Fecha de Ingreso: mayo-2011
Ubicación: Rubi(Barcelona)
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 0
Error clave foranea

Hola bueno dias, mirad estoy intentado hacer una clave foranea y me da error en la sentencia sql, estoy en phpmyadmin

Tengo estas tablas
Tabla cistell
Campo Tipo Cotejamiento Atributos Nulo Predeterminado
idcistell int(6) No None
idlistcistell int(6) No None
nom varchar(30) latin1_swedish_ci No None
referencia int(10) No None
descrpicio text latin1_swedish_ci No None
preu int(6) No None

La primera es la primary key

Y esta otra
Tabla llistacistell
Campo Tipo Cotejamiento Atributos Nulo Predeterminado
Idlistcistell int(10) No None
usuari varchar(30) latin1_swedish_ci No None
La primera tb es primary key

Entonces yo hago esta consulta sql para hacer una clave foranea

ALTER TABLE `cistell`
ADD CONSTRAINT FOREING KEY (`idlistcistell`) REFERENCES `llistacistell` (`idlistcistell`)

Y me da error, sabeis el porque?

gracias de antemano
  #2 (permalink)  
Antiguo 02/09/2011, 06:54
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Error clave foranea

Si nos das el mensaje de error nos dará alguna pista...

Una cosa que podrias eleminar es la diferencia en los tipos

cistell
...
idlistcistell int(6) No None

llistacistell
Idlistcistell int(10) No None

No fos cas...

Ademas estas usando nombres distintos

ALTER TABLE `cistell`
ADD CONSTRAINT FOREING KEY (`idlistcistell`) REFERENCES `llistacistell` (`idlistcistell`)

Idlistcistell

8.2.2. Identifier Case Sensitivity
no en todas las plataformas es case sensitive pero por las dudas yo trabajaria respetando los nombres...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 02/09/2011 a las 07:03
  #3 (permalink)  
Antiguo 05/09/2011, 05:57
 
Fecha de Ingreso: mayo-2011
Ubicación: Rubi(Barcelona)
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Error clave foranea

Perdón por el retraso, pero no me he podido conectar en 2 días, mira he probado lo que me has comentado y me da el mismo error. He cambiado tambien el nombre de Idlistcistell dentro de la tabla listcistell por idlistcistell para no tener problemas de mayúsculas o minúsculas

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'KEY (`idlistcistell`) REFERENCES `llistacistell` (`idlistcistell`)' at line 2
  #4 (permalink)  
Antiguo 05/09/2011, 07:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Error clave foranea

Código MySQL:
Ver original
  1. ALTER TABLE `cistell`
  2. ADD CONSTRAINT `fk_cistel_listacisstel` FOREIGN KEY (`idlistcistell`) REFERENCES `llistacistell` (`idlistcistell`)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: clave, php, sql, tabla, foreignkey
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:19.