Não consigo gravar - Error Code: 1022. Cant write; duplicate key in table
Estou tentando criar uma tabela idêntica a uma que já tenho, não estou vendo aonde está o erro. Alguém poderia me ajudar?
DROP TABLE IF EXISTS `rh-db`.`folgas` ;
CREATE TABLE IF NOT EXISTS `rh-db`.`folgas` (
`ID_FOLGA` INT(11) NOT NULL AUTO_INCREMENT ,
`FOLGA` VARCHAR(11) NOT NULL ,
`ID_FUNCIONARIO` INT(11) NOT NULL ,
`OBS` VARCHAR(40) NULL DEFAULT NULL ,
PRIMARY KEY (`ID_FOLGA`, `FOLGA`) ,
CONSTRAINT `FK_ID_FUNCIONARIO`
FOREIGN KEY (`ID_FUNCIONARIO` )
REFERENCES `rh-db`.`funcionarios` (`ID_FUNCIONARIO` )
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB
AUTO_INCREMENT = 2
DEFAULT CHARACTER SET = latin1;
CREATE UNIQUE INDEX `FALTA_UNIQUE` ON `rh-db`.`folgas` (`FOLGA` ASC) ;
CREATE INDEX `FK_ID_FUNCIONARIO_idx` ON `rh-db`.`folgas` (`ID_FUNCIONARIO` ASC) ;
-- insert
INSERT INTO `folgas` (`ID_FOLGA`,`FOLGA`,`ID_FUNCIONARIO`,`OBS`)VALUES (1,'05/03/2015',1,'Doença');
DROP TABLE IF EXISTS `rh-db`.`folgas` ;
CREATE TABLE IF NOT EXISTS `rh-db`.`folgas` (
`ID_FOLGA` INT(11) NOT NULL AUTO_INCREMENT ,
`FOLGA` VARCHAR(11) NOT NULL ,
`ID_FUNCIONARIO` INT(11) NOT NULL ,
`OBS` VARCHAR(40) NULL DEFAULT NULL ,
PRIMARY KEY (`ID_FOLGA`, `FOLGA`) ,
CONSTRAINT `FK_ID_FUNCIONARIO`
FOREIGN KEY (`ID_FUNCIONARIO` )
REFERENCES `rh-db`.`funcionarios` (`ID_FUNCIONARIO` )
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB
AUTO_INCREMENT = 2
DEFAULT CHARACTER SET = latin1;
CREATE UNIQUE INDEX `FALTA_UNIQUE` ON `rh-db`.`folgas` (`FOLGA` ASC) ;
CREATE INDEX `FK_ID_FUNCIONARIO_idx` ON `rh-db`.`folgas` (`ID_FUNCIONARIO` ASC) ;
-- insert
INSERT INTO `folgas` (`ID_FOLGA`,`FOLGA`,`ID_FUNCIONARIO`,`OBS`)VALUES (1,'05/03/2015',1,'Doença');
Esmeraldina Silva
Curtidas 0
Respostas
Jothaz
10/11/2015
Se o campo ID_FOLGA é auto incremento não é necessário informá-lo no INSERt, pois vai ser gerado automaticamente pelo bd.
INSERT INTO `folgas` (`FOLGA`,`ID_FUNCIONARIO`,`OBS`)VALUES ('05/03/2015',1,'Doença');GOSTEI 0
Esmeraldina Silva
10/11/2015
OK. Obrigada.
Mas além disso eu descobri que a chave estrangeira usada aqui eu estou usando também em outra tabela do mesmo banco, daí a mensagem de duplicidade de chaves. Muito obrigada pela atenção.
Mas além disso eu descobri que a chave estrangeira usada aqui eu estou usando também em outra tabela do mesmo banco, daí a mensagem de duplicidade de chaves. Muito obrigada pela atenção.
GOSTEI 0
Jothaz
10/11/2015
É quase impossível sugerir algo sem a visão total de como seu banco esta modelado, então o que podemos fazer é observações pontuais sobre que esta postado.
O caminho mais produtivo é desenhar o modelo usando alguma ferramente case e posteriormente parta para a criação da tabelas. Se um modelo é até possível avançar, mas vai chegar a um grau de complexidade que vai impactar diretamente no seu trabalho.
E quando você tem um modelo desenhado e post fica muito mais simples e produtivo ajudar.
Boa sorte!
O caminho mais produtivo é desenhar o modelo usando alguma ferramente case e posteriormente parta para a criação da tabelas. Se um modelo é até possível avançar, mas vai chegar a um grau de complexidade que vai impactar diretamente no seu trabalho.
E quando você tem um modelo desenhado e post fica muito mais simples e produtivo ajudar.
Boa sorte!
GOSTEI 0
Esmeraldina Silva
10/11/2015
ok. Mais uma vez obrigada.
GOSTEI 0