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

No deja crear tabla con llaves foraneas

Estas en el tema de No deja crear tabla con llaves foraneas en el foro de Mysql en Foros del Web. Necesito crear una nueva tabla, pero al hacerlo me sale el error 150 que al parecer indica qe no se puede crear porque las referencias ...
  #1 (permalink)  
Antiguo 23/11/2015, 13:17
 
Fecha de Ingreso: noviembre-2010
Mensajes: 47
Antigüedad: 14 años
Puntos: 1
No deja crear tabla con llaves foraneas

Necesito crear una nueva tabla, pero al hacerlo me sale el error 150 que al parecer indica qe no se puede crear porque las referencias no existen, ya revise las campos primarios en las otras tablas y si estan definidad, pero no entiendo porque no quiere crear la nueva tabla.

Código MySQL:
Ver original
  1. CREATE TABLE Usuarios (
  2.   NombreUsuario VARCHAR(30) NOT NULL ,
  3.   Contraseña VARCHAR(40) NULL,
  4.   PRIMARY KEY(NombreUsuario)
  5. );

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS Documentos (
  2.   id_documento int(10) unsigned NOT NULL primary key,
  3.   titulo varchar(150) DEFAULT NULL,
  4.   Autor varchar (100) DEFAULT NULL,
  5.   IdCarrera varchar(10) NOT NULL,
  6.   FOREIGN KEY (IdCarrera) REFERENCES Carrera(IdCarrera)
  7.   );


//esta tabla es la que no me deja crearla
Código MySQL:
Ver original
  1. Create Table IF NOT EXISTS Descargas (
  2.     IdDescargas int(10),
  3.     NumDescarga int(10),
  4.     NombreUsuario VARCHAR(30) NOT NULL ,
  5.     foreign key (NombreUsuario) REFERENCES Usuarios (NombreUsuario),
  6.     id_documento int(10), foreign key (id_documento) REFERENCES Documentos (id_documento)
  7. );

Última edición por gnzsoloyo; 23/11/2015 a las 14:29
  #2 (permalink)  
Antiguo 23/11/2015, 14:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: No deja crear tabla con llaves foraneas

Por supuesto que no te la va a dejar crear... En DOCUMENTOS, la columna es INT UNSIGNED, y en la DESCARGAS es sólo INT.
Eso implica que tienen rangos diferentes de representación, algo que viola la restricción de una FK.
__________________
¿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 23/11/2015, 17:23
 
Fecha de Ingreso: noviembre-2010
Mensajes: 47
Antigüedad: 14 años
Puntos: 1
Respuesta: No deja crear tabla con llaves foraneas

ok gracias por la corrección

Etiquetas: campo, llaves, tabla, usuarios
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 07:07.