kainna 0 Denunciar post Postado Junho 27, 2011 Pessoal bom dia! Estou com um problemao que estou tentando resolver faz dois dias. Tenho duas tabelas: Ex.: Tabela 1 reg (pk) Tabela 2 usuario (pk) senha reg (fk) o problema é que montei uma pagina em php que faz um select e busca as informações da tabela 1 para um combo. Assim que o usuario seleciona e clica no botao salvar, aparece o seguinte erro: #1452 - Cannot add or update a child row: a foreign key constraint fails. Estou tentando tambem inserir um registro dentro do mysql. Eu utilizo o phpmyadmim... help please! Compartilhar este post Link para o post Compartilhar em outros sites
KUROL3 3 Denunciar post Postado Junho 27, 2011 Coloca o código completo de inserir Marco Compartilhar este post Link para o post Compartilhar em outros sites
kainna 0 Denunciar post Postado Junho 28, 2011 CREATE TABLE `sre` ( `nomesre` VARCHAR( 40 ) NOT NULL ) ENGINE = innodb; ) CREATE TABLE `usuario` ( `usuario` VARCHAR( 30 ) NOT NULL , `senha` INT( 8 ) NOT NULL , `nomesre` VARCHAR( 40 ) NOT NULL , PRIMARY KEY ( `usuario` ) ) ENGINE = INNODB; ALTER TABLE `usuario` ADD CONSTRAINT `nomesre` FOREIGN KEY (`nomesre`) REFERENCES `sre` (`nomesre`); Para adicionar uma chave secundária na tabela usuarios. O Codigo para insert é : $usuario = $_POST["usuario"]; //busca o masp digitado no formulario cadAnalista $senha = $_POST["senha"]; // busca o nome digitado no formulario cadAnalista $nomesre = $_GET["nomesre"]; // busca o nome digitado no formulario cadAnalista $conexao = mysql_connect("servidor","root",""); $db = mysql_select_db("base");//nome base de dados $insere="Replace into usuario (usuario, senha, nomesre) values( '$usuario', '$senha','$nomesre' )"; mysql_query($insere) or die(mysql_error()); echo "Operação efetuada com sucesso!"; ?> CONTINUA DANDO O ERRO: Cannot add or update a child row: a foreign key constraint fails (`base/usuario`, CONSTRAINT `nomesre` FOREIGN KEY (`nomesre`) REFERENCES `sre` (`nomesre`)) Compartilhar este post Link para o post Compartilhar em outros sites
Periscuelo 20 Denunciar post Postado Junho 28, 2011 Amiga Kainna não é possível inserir dados em uma foreign key se ele não existir como primary key. O que deve estar ocorrendo de errado é que você quer inserir na tabela usuário um nomesre que não existe na tabela sre. Observe se esta tudo certo e faça testes com nomes comuns e sem acentuação para ver se funciona e encontrar mais algum erro caso exista. Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
kainna 0 Denunciar post Postado Junho 28, 2011 Obrigada pela resposta Ibrahim, porém eu estou selecionando de um combo que faz busca na propria tabela sre. Acho que o problema está quando eu busco da combo... estou apanhando aqui viu?! Não tem como não existir na tabela, ja que os dados exibidos na combo sao da propria tabela... aff me ajudem! Acho que descobri o erro... ele não esta gravando o que o usuario selecionou no combo... aff... porem nao sei como solucionar! obrigada Compartilhar este post Link para o post Compartilhar em outros sites
Periscuelo 20 Denunciar post Postado Julho 21, 2011 Amiga Kainna se você está dizendo sobre a combo do sistema, ai realmente você tem que verificar o porque o sistema não envia a informação pro banco de dados. Se via phpMyAdmin funciona tudo 100% você tem que corrigir o erro na aplicação ou achar quem corrija para você. Compartilhar este post Link para o post Compartilhar em outros sites