CREATE TABLE IF NOT EXISTS `intranet`.`sefoe_departamentos` (
`iddepto` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT ,
`departamento` VARCHAR(255) NOT NULL ,
`iddepto_superior` BIGINT NOT NULL DEFAULT 0 ,
PRIMARY KEY (`iddepto`) ,
INDEX `contiene` (`iddepto_superior` ASC) ,
CONSTRAINT `contiene`
FOREIGN KEY (`iddepto_superior` )
REFERENCES `intranet`.`sefoe_departamentos` (`iddepto` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
COMMENT = 'Estructura organizacional de los departamentos'
A primera vista parece un código válido, pero fijense en los FK's:
iddepto es BIGINT SIN SIGNO e iddepto_superior unicamente es BIGINT, una pequeña variante tan pequeña como ésta puede arrojarnos el molesto ERRNO 1005.
También se encuentra el caso de que especifiques que en un ON DELETE vuelva NULL un campo que previamente se había declarado como NOT NULL.
2 comentarios:
Pos tratándose de este tipo de información estaremos leyéndolo.
Va de una vez pal lector de feeds.
Saludos!
tengo algo olvidado este blog, comenzaré a recopilar datos de nuevo.
Publicar un comentario