Error on rename of'.\alertamedica\#sql-446c_3e' to '.\alertamedica\usuarios' (errno: 150)
(http://imagizer.imageshack.us/v2/280x200q90/540/nrgjsj.png) (https://imageshack.com/i/f0nrgjsjp)
Codigo SQL de la BD:Tabla principal:
CREATE TABLE alertamedica.usuarios (
id INT(11) DEFAULT NULL,
cedula VARCHAR(30) DEFAULT NULL,
codigo VARCHAR(30) DEFAULT NULL,
email VARCHAR(200) DEFAULT NULL,
CONSTRAINT FK_usuarios_alergias_cedula FOREIGN KEY (cedula)
REFERENCES alertamedica.alergias(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT FK_usuarios_avisar_cedula FOREIGN KEY (cedula)
REFERENCES alertamedica.avisar(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT FK_usuarios_datos_personales_cedula FOREIGN KEY (cedula)
REFERENCES alertamedica.datos_personales(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;
Tabla secundaria correctamente relacionada:
CREATE TABLE alertamedica.alergias (
id INT(11) DEFAULT NULL,
cedula VARCHAR(30) DEFAULT NULL,
descripcion VARCHAR(1000) DEFAULT NULL,
UNIQUE INDEX UK_alergias_cedula (cedula)
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;
Tabla que quiero relacionar por campo cedula, igual que alergias a usuarios
CREATE TABLE alertamedica.condiciones_medicas (
id INT(11) DEFAULT NULL,
cedula VARCHAR(30) DEFAULT NULL,
enfermedades TEXT DEFAULT NULL,
analisis_azucar_sang CHAR(5) DEFAULT NULL,
analisis_colesterol_sangre TEXT DEFAULT NULL,
vacunas TEXT DEFAULT NULL,
alergias TEXT DEFAULT NULL,
prob_circ_sanguinea TEXT DEFAULT NULL,
UNIQUE INDEX UK_condiciones_medicas_cedula (cedula)
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;
Alguna idea de por que sale ese error, me dejo relacionar 3 tablas secundarias y empezo a sacar ese error 150.
Si borro todo y empiezo desde 0 pero a punta de consola, haciendo:
CREATE TABLE usuarios (
id INT(11) DEFAULT NULL,
cedula VARCHAR(30) DEFAULT NULL,
codigo VARCHAR(30) DEFAULT NULL,
email VARCHAR(200) DEFAULT NULL,
CONSTRAINT FK_usuarios_alergias_cedula FOREIGN KEY (cedula)
REFERENCES alertamedica_pruebas.alergias(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT FK_usuarios_avisar_cedula FOREIGN KEY (cedula)
REFERENCES alertamedica_pruebas.avisar(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT FK_usuarios_datos_personales_cedula FOREIGN KEY (cedula)
REFERENCES alertamedica_pruebas.datos_personales(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT FK_usuarios_condiciones_medicas_cedula FOREIGN KEY (cedula)
REFERENCES alertamedica_pruebas.condiciones_medicas(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;
El sistema me recibe la relacion, pero por la interfaz grafica del dbforge no :-(
Y cuando cargo las bases de datos al DBForge vaya que toma la relacion:
(http://imagizer.imageshack.us/v2/280x200q90/906/u8ypVt.png) (https://imageshack.com/i/p6u8ypVtp)
No entiendo por que esta saliendo ese error en el IDE, figuro hacerlo a la vieja escuela, y modelar toda mi DB por consola, increible.
PD: Si alguien conoce algun otro IDE para modelar bases de datos que no sea workbench o dbforge, se le agradece.