Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2011, 10:39
juliancho1989
 
Fecha de Ingreso: octubre-2010
Ubicación: Bucaramanga
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
Exclamación Error 150 en MySQL

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!!!