[AYUDA] dbforge error creando relaciones en la base de datos, sale: (errno: 150)

Iniciado por graphixx, Agosto 26, 2014, 05:41:35 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Error on rename of'.\alertamedica\#sql-446c_3e' to '.\alertamedica\usuarios' (errno: 150)
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Codigo SQL de la BD:
Tabla principal:
Código: sql

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:
Código: sql

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
Código: sql

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:
Código: sql

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:
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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.
Mi Blog Personal
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Podrías darle una hojeada a este articulo, quizás te ayude.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Saludos.
El talento se parece al tirador que da en un blanco que los demás no pueden alcanzar; el genio se parece al tirador que da en un blanco que los demás no pueden ver.