Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/06/2012, 15:29
oliverm
 
Fecha de Ingreso: noviembre-2008
Mensajes: 23
Antigüedad: 16 años
Puntos: 0
Error 1005 (errno150) can't create table...

Les pongo el código del error y el código de la base.

Código:
Error
consulta SQL:

CREATE TABLE prueba2.empleado(

rut_e INT( 8 ) NOT NULL ,
nombre VARCHAR( 35 ) NOT NULL ,
apelido VARCHAR( 35 ) NOT NULL ,
calle_nro VARCHAR( 35 ) NOT NULL ,
comuna VARCHAR( 35 ) NOT NULL ,
region VARCHAR( 35 ) NOT NULL ,
fecha_contrato DATE NOT NULL ,
tipo_empleado ENUM(  'a',  'j',  'v' ) NOT NULL ,
rut_a_fk INT( 8 ) NULL ,
PRIMARY KEY ( rut_e ) ,
INDEX rut_a_fk( rut_a_fk ASC ) ,
CONSTRAINT rut_a_fk FOREIGN KEY ( rut_a_fk ) REFERENCES prueba2.administrador(
rut_a
) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE = INNODB;

MySQL ha dicho: 

#1005 - Can't create table 'prueba2.empleado' (errno: 150) (Detalles...)

AHORA EL CÓDIGO DE LA BASE ENTERA

Código:
CREATE TABLE prueba2.empleado (
    rut_e INT(8) NOT NULL,
    nombre VARCHAR(35) NOT NULL,
    apelido VARCHAR(35) NOT NULL,
    calle_nro VARCHAR(35) NOT NULL,
    comuna VARCHAR(35) NOT NULL,
    region VARCHAR(35) NOT NULL,
    fecha_contrato DATE NOT NULL,
    tipo_empleado ENUM('a', 'j', 'v') NOT NULL,
    rut_a_fk INT(8) NULL,
    PRIMARY KEY (rut_e),
    INDEX rut_a_fk (rut_a_fk ASC),
    CONSTRAINT rut_a_fk FOREIGN KEY (rut_a_fk)
        REFERENCES prueba2.administrador (rut_a)
        ON DELETE NO ACTION ON UPDATE NO ACTION
)  ENGINE=InnoDB;


CREATE TABLE prueba2.administrador (
    rut_a INT(8) NOT NULL,
    titulo VARCHAR(35) NOT NULL,
    PRIMARY KEY (rut_a),
    INDEX rut_a (rut_a ASC),
    CONSTRAINT rut_a_fk FOREIGN KEY (rut_a_fk)
        REFERENCES prueba2.empleado (rut_e)
        ON DELETE NO ACTION ON UPDATE NO ACTION
)  ENGINE=InnoDB;


CREATE TABLE prueba2.vendedor (
    rut_v INT(8) NOT NULL,
    PRIMARY KEY (rut_v),
    INDEX rut_v (rut_v ASC),
    CONSTRAINT rut_v FOREIGN KEY (rut_v)
        REFERENCES prueba2.empleado (rut_e)
        ON DELETE NO ACTION ON UPDATE NO ACTION
)  ENGINE=InnoDB;