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

error 1005

Estas en el tema de error 1005 en el foro de Mysql en Foros del Web. Hola, buenas. Tengo un pequeño problemita con este error. He buscado y parece ser que es error de "clave foránea incorrectamente formulada". Vale ahora necesito ...
  #1 (permalink)  
Antiguo 30/06/2010, 12:56
 
Fecha de Ingreso: mayo-2010
Mensajes: 26
Antigüedad: 13 años, 10 meses
Puntos: 0
error 1005

Hola, buenas.

Tengo un pequeño problemita con este error. He buscado y parece ser que es error de "clave foránea incorrectamente formulada". Vale ahora necesito de vuestra ayuda para que me digais donde tengo el fallo porque me estoy volviendo loco de probar y probar cosas :S

Código:
//Esta tabla es la primera

create table peliculas(
nombre varchar(40),
ano int(4),
categoria varchar(10) NOT NULL,
idioma varchar(10) NOT NULL,
foto varchar(10) NOT NULL,
ficha varchar(10) NOT NULL,
primary key(nombre,ano)) engine=innodb;

//Y en esta quiero coger las claves primarias de la anterior

create table estrenos(
nombre varchar(40),
ano int(4),
categoria varchar(10) NOT NULL,
idioma varchar(10) NOT NULL,
foto varchar(10) NOT NULL,
ficha varchar(10) NOT NULL,
primary key(nombre,ano),
foreign key(nombre) references peliculas(nombre),
foreign key(ano) references peliculas(ano)) engine=innodb;
Donde tengo el error?
  #2 (permalink)  
Antiguo 30/06/2010, 13:35
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 1005

Una FK debe apuntar a toda la clave, y no a una parte de ella.. Eso significa que la declaración de FK debe referenciar a la PK tal y como la misma está consruida: Si tiene dos campos, los dos campos deben indicarse al mismo tiempo:
Código MySQL:
Ver original
  1. REFERENCES tabla(campo1, campo2)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 01/07/2010, 11:13
 
Fecha de Ingreso: mayo-2010
Mensajes: 26
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: error 1005

O.O dios es verdad y mira que me lo repitieron veces cuando me explicaron esto...

Muchas gracias gnzsoloyo ;) pueden cerrar el post.

Etiquetas: Ninguno
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 03:17.