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