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

Error 150

Estas en el tema de Error 150 en el foro de Bases de Datos General en Foros del Web. Resulta que estoy creandouna base de datos y no me deja porque no tengo bien hecha una clave foránea, espero alguien me pueda ayudar Código: ...
  #1 (permalink)  
Antiguo 02/02/2011, 10:36
 
Fecha de Ingreso: octubre-2010
Ubicación: Bucaramanga
Mensajes: 7
Antigüedad: 13 años, 6 meses
Puntos: 0
Exclamación Error 150

Resulta que estoy creandouna base de datos y no me deja porque no tengo bien hecha una clave foránea, espero alguien me pueda ayudar
Código:
CREATE TABLE personas (
 id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  primerNombre VARCHAR(20) NOT NULL,
  segundoNombre VARCHAR(20) NULL,
  primerApellido VARCHAR(20) NOT NULL,
  segundoApellido VARCHAR(20) NULL,
  fechaNacimiento DATE NOT NULL,
  cedula VARCHAR(12) NOT NULL UNIQUE,
  ciudadNacimiento VARCHAR(20) NOT NULL,
  telefono VARCHAR(12) NOT NULL,
  direccion VARCHAR(35) NOT NULL,
  email VARCHAR(55) NOT NULL UNIQUE,
 PRIMARY KEY (id)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_general_cs
COMMENT = 'Personas';

CREATE TABLE usuarios (
 id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  nombreUsuario VARCHAR(20) NOT NULL UNIQUE,
  clave VARCHAR(75) NOT NULL,
  activo ENUM('true','false') NOT NULL,
 id_persona INT NOT NULL,
 PRIMARY KEY (id),
 UNIQUE INDEX (id_persona),  -- tratando de hacer relacion 1 a 1, con INDEX unico
 FOREIGN KEY (id_persona) REFERENCES personas (id)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_general_cs
COMMENT = 'Usuarios';
creo la tabla personas, pero cuando intento hacer la de usuarios, no me deja porque no tengo bien definida la clave foránea.

el error que me aparece es el siguiente

SQL Error (1005): Can't create table '.\delpersonal_sitio\usuarios.frm' (errno: 150) Foreign key constraint is incorrectly formed

no es problema del servidor, porque ya intenté hacerla localmente.

Gracias!!!
  #2 (permalink)  
Antiguo 03/02/2011, 03:26
 
Fecha de Ingreso: enero-2011
Ubicación: Castellon
Mensajes: 39
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: Error 150

No estoy segura pero puede ser porque en la tabla de arriba el identificador es de tipo INT UNSIGNED y en la de abajo de tipo INT?

Prueba a ver.

Suerte

PD: oye que ya habias posteado el mismo error y huesos52 te ha respondido.

Última edición por Orantx; 03/02/2011 a las 04:45
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 20:02.