Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Almir Oliveira

erro do MySQL

Recommended Posts

Olá Pessoal!

 

espero que esta área seja a correta para postar dúvidas.

 

Gostaria de saber o que há de errado o script abaixo:

 

 

CREATE TABLE `tab_a` (  `a_id` char(2) NOT NULL default '',  PRIMARY KEY  (`a_id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;CREATE TABLE `tab_b` (  `b_id` char(2) NOT NULL default '',  PRIMARY KEY  (`b_id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;CREATE TABLE `tab_ab` (  `ab_id` int(11) NOT NULL auto_increment,  `a_b` char(2) NOT NULL default '',  PRIMARY KEY  (`ab_id`),  KEY `tab_a_fk_a_id` (`a_b`),  KEY `tab_b_fk_b_id` (`a_b`),  CONSTRAINT `fk_2` FOREIGN KEY (`a_b`) REFERENCES `tab_b` (`b_id`),  CONSTRAINT `fk_1` FOREIGN KEY (`a_b`) REFERENCES `tab_a` (`a_id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ao inserir dados na tabela "tab_ab" aparece o erro:

"Cannot add or update a child row: a foreign key constraint fails"

 

alguém poderia me ajudar?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso

CONSTRAINT `fk_2` FOREIGN KEY (`a_b`) REFERENCES `tab_b` (`b_id`),CONSTRAINT `fk_1` FOREIGN KEY (`a_b`) REFERENCES `tab_a` (`a_id`)

diz ao banco de dados que os dados da tabela tab_ab são obrigados a estarem a relacionados a tab_a e tab_b. se não houver os dados especificados nas tabelas tab_a e tab_b não pode inserir

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.