Código:
creo la tabla personas, pero cuando intento hacer la de usuarios, no me deja porque no tengo bien definida la clave foránea.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';
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!!!