Fórum Tabela não aceita chave estrangeira #52294
16/03/2010
0
Query : alter table fornecedores add foreign key(idContato) references contatos(idContato) on delete cascade
Error Code : 1452
Cannot add or update a child row: a foreign key constraint fails (`mercearia`.<result 2 when explaining filename '#sql-328_4'>, CONSTRAINT `#sql-328_4_ibfk_1` FOREIGN KEY (`idContato`) REFERENCES `contatos` (`idContato`) ON DELETE CASCADE)
Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000
AS tabelas são fornecedores e contatos:
CREATE TABLE `contatos` (
`idContato` int(11) NOT NULL AUTO_INCREMENT,
`nomeContato` varchar(30) DEFAULT NULL,
`sobreNomeCont` varchar(50) DEFAULT NULL,
`telefoneCont` char(10) DEFAULT NULL,
`telefoneCont2` char(10) DEFAULT NULL,
PRIMARY KEY (`idContato`)
CREATE TABLE `fornecedores` (
`idFornecedor` int(11) NOT NULL AUTO_INCREMENT,
`nomefantasia` varchar(30) DEFAULT NULL,
`razaoSocial` varchar(100) DEFAULT NULL,
`CNPJ` char(14) DEFAULT NULL,
`InscrEst` char(12) DEFAULT NULL,
`enderecoEmpresa` varchar(50) DEFAULT NULL,
`telefone1` char(10) DEFAULT NULL,
`telefone2` char(10) DEFAULT NULL,
`email` varchar(20) DEFAULT NULL,
`CEP` char(8) DEFAULT NULL,
`idContato` int(11) NOT NULL,
PRIMARY KEY (`idFornecedor`)
Sou iniciante em mysql e preciso relacionar essas tabelas, estou usando o mysql-essential-5.1.44-win32 e o
sqlyog como cliente
Qualquer ajuda para saber onde estou errando agradeço.
Fabiano Silva
Curtir tópico
+ 0Posts
10/04/2010
Carlos Mazzi
Gostei + 0
19/04/2010
Wesley Batista
CREATE TABLE `bddevmedia`.`contatos` ( `idContato` int(11) NOT NULL AUTO_INCREMENT, `nomeContato` varchar(30) DEFAULT NULL, `sobreNomeCont` varchar(50) DEFAULT NULL, `telefoneCont` char(10) DEFAULT NULL, `telefoneCont2` char(10) DEFAULT NULL, PRIMARY KEY (`idContato`) ) ENGINE = InnoDB; CREATE TABLE `bddevmedia`.`fornecedores` ( `idFornecedor` int(11) NOT NULL AUTO_INCREMENT, `nomefantasia` varchar(30) DEFAULT NULL, `razaoSocial` varchar(100) DEFAULT NULL, `CNPJ` char(14) DEFAULT NULL, `InscrEst` char(12) DEFAULT NULL, `enderecoEmpresa` varchar(50) DEFAULT NULL, `telefone1` char(10) DEFAULT NULL, `telefone2` char(10) DEFAULT NULL, `email` varchar(20) DEFAULT NULL, `CEP` char(8) DEFAULT NULL, `idContato` int(11) NOT NULL, PRIMARY KEY (`idFornecedor`) ) ENGINE = InnoDB; ALTER TABLE `bddevmedia`.`fornecedores` ADD CONSTRAINT `FK_fornecedores_1` FOREIGN KEY `FK_fornecedores_1` (`idContato`) REFERENCES `contatos` (`idContato`) ON DELETE RESTRICT ON UPDATE RESTRICT;
Obs : Fiz o teste aqui com sua estrutura só colocando a mesma da maneira correta, e funcionou.
Espero te ajudado
Um abraço
Wesley Batista
e-mail : wesley@tdstecnologia.com.br
site : www.tdstecnologiarj.com.br
Gostei + 0
16/05/2013
José
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)