junaooaks 3 Denunciar post Postado Maio 17, 2012 ola pessoal estou com uma duvida qual é a forma de fazer o insert entre duas tabela que uma depente do ID da outra tipo: cadastro de cliente que tem duas tabela PESSOA / ENDEREÇO a tabela pessoa tem os dados nome cpf nome do pai mae etc, e na tabela endereço tem cidade endereço bairro.... só que tudo isto em um mesmo formulario... eu conheço o comando LAST_INSERT_ID() que retorna o ultimo registro. a minha duvida é no caso de dois registro ser realizado ao mesmo tempo com computadores diferente o que acontece, e qual a melhor forma para fazer este insert sem corre risco de troca as informações ? ou com o LAST_INSERT_ID() nao tem este perigo Compartilhar este post Link para o post Compartilhar em outros sites
Welisson C. Dias 1 Denunciar post Postado Maio 17, 2012 ola pessoal estou com uma duvida qual é a forma de fazer o insert entre duas tabela que uma depente do ID da outra tipo: cadastro de cliente que tem duas tabela PESSOA / ENDEREÇO a tabela pessoa tem os dados nome cpf nome do pai mae etc, e na tabela endereço tem cidade endereço bairro.... só que tudo isto em um mesmo formulario... eu conheço o comando LAST_INSERT_ID() que retorna o ultimo registro. a minha duvida é no caso de dois registro ser realizado ao mesmo tempo com computadores diferente o que acontece, e qual a melhor forma para fazer este insert sem corre risco de troca as informações ? ou com o LAST_INSERT_ID() nao tem este perigo Bom nesse caso para você filtrar melhor, antes de efetuar o segundo insert, efetue uma consulta ex: select id from pessoa where nome=post and cpf=post and nome_pai=post and nome_mae=post Dessa forma mesmo que aconteça um insert ao mesmo tempo não haveria o problema risco de pegar id errado,conforme sua duvida. Mas a probabilidade de acontecer essa concorrência é bem pequena.Mas isso poderia ser uma alternativa. E em caso de efetuar cadastro de em compudadores diferentes o mesmo cadastro,ai teria que efetuar validação antes do insert. Ex:Efetuar uma busca por cpf e verificar se existe no banco ,caso não efetua o insert , se sim retorna mensagem. Espero ter ajudado. Abraço Compartilhar este post Link para o post Compartilhar em outros sites
Denilson Telaroli 7 Denunciar post Postado Maio 17, 2012 pode usar o LAST_INSERT_ID() que ele não passa o último para outra pessoa. bom, ao menos você tem que fazer os dois cadastros no mesmo momento. outra forma é pesquisando a pessoa por uma outra chave única, como o colega falou, pode ser o cpf, encontrando você terá o id dele. ola pessoal estou com uma duvida qual é a forma de fazer o insert entre duas tabela que uma depente do ID da outra tipo: cadastro de cliente que tem duas tabela PESSOA / ENDEREÇO a tabela pessoa tem os dados nome cpf nome do pai mae etc, e na tabela endereço tem cidade endereço bairro.... só que tudo isto em um mesmo formulario... eu conheço o comando LAST_INSERT_ID() que retorna o ultimo registro. a minha duvida é no caso de dois registro ser realizado ao mesmo tempo com computadores diferente o que acontece, e qual a melhor forma para fazer este insert sem corre risco de troca as informações ? ou com o LAST_INSERT_ID() nao tem este perigo Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Maio 17, 2012 o problema da consulta. tabela pessoa: idPessoa, idEndereco... endereco: idEndereco, endereco, numero observe que o id da tabela endereço esta na tabela pessoa, então o registro teria que ser primeiro na tabela de endereço ficando impossível de fazer uma consulta na tabela endereço para registrar na tabela pessoa alguém teria mais uma ideia ? Compartilhar este post Link para o post Compartilhar em outros sites