Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/11/2015, 13:17
bettyrous
 
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