[Resolvido]Error Code:1005 nao pode criar a tabela... (errno:121)

1 resposta
charles.eduardo

Daew pessoal, meu codigo deu esse erro, consigo criar a tabela e tudo porem o campo que está dando o erro é uma FK de uma outra tabela, vou postar o sql.

CREATE  TABLE IF NOT EXISTS `sgt`.`acionamentos` (
  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `id_acionamento` INT(11) NOT NULL ,
  `id_operador` INT(10) UNSIGNED NOT NULL ,

   //O problemas está com este campo id_cliente
  `id_cliente` INT(11) NOT NULL ,


  PRIMARY KEY (`id`) ,
  INDEX `fk_id_operador_idx` (`id_operador` ASC) ,
  INDEX `fk_id_tipo_acionamento_idx` (`id_acionamento` ASC) ,

  //acredito que... 
  INDEX `fk_id_cliente_idx` (`id_cliente` ASC) ,


  CONSTRAINT `fk_id_operador`
    FOREIGN KEY (`id_operador` )
    REFERENCES `sgt`.`operador` (`idOp` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_id_tipo_acionamento`
    FOREIGN KEY (`id_acionamento` )
    REFERENCES `sgt`.`situacaoacionamento` (`idSituacaoAcionamento` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,

  //acredito que...
  CONSTRAINT `fk_id_cliente`
    FOREIGN KEY (`id_cliente` )
    REFERENCES `sgt`.`cliente` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
Aqui está a tabela de cliente a qual esta causando o transtorno, não consigo entender o motivo do erro.
CREATE  TABLE IF NOT EXISTS `sgt`.`cliente` (
  `id` INT(11) NOT NULL AUTO_INCREMENT ,
  `nome` VARCHAR(100) NOT NULL ,
  `sobrenome` VARCHAR(100) NOT NULL ,
  `idLogradouro` INT(10) UNSIGNED NOT NULL ,
  `telFixo` VARCHAR(10) NULL DEFAULT NULL ,
  `telCel` VARCHAR(10) NULL DEFAULT NULL ,
  `cep` VARCHAR(8) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FK_idLogradouro_idx` (`idLogradouro` ASC) ,
  CONSTRAINT `FK_idLogradouro`
    FOREIGN KEY (`idLogradouro` )
    REFERENCES `sgt`.`enderecologradouro` (`idLogradouro` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
AUTO_INCREMENT = 5
DEFAULT CHARACTER SET = latin1

Agradeço o auxilio!!!

1 Resposta

charles.eduardo

Demorou mais com o auxilio do profº consegui encontrar o problema…

Este index estava duplicado por ele ser gerado automaticamente pelo MySql Workbench, como eu usava a chave fk_id_cliente em outra tabela.

“Então não é possivel a adicionar uma restrição com um nome que está sendo utilizado em outro lugar”(Jim Grill http://dev.mysql.com/doc/refman/5.0/en/innodb-error-codes.html ).

Criado 8 de novembro de 2012
Ultima resposta 9 de nov. de 2012
Respostas 1
Participantes 1