5
respostas

Insert em duas tabelas relacionadas

como faço para inserir dados em duas tabelas relacionadas ao mesmo tempo ?

5 respostas

Oi Marcelo, tudo bem? Acredito que geralmente isso é feito em dois passos, já que é um relacionamento, as vezes você precisa do resultado de uma das consultas para poder executar a segunda. Você tem algum exemplo que justificaria fazer isso?

Pode seguir os passos abaixo: 1 Recupere os valores enviados pelo formulário via POST; 2 Monte e execute a primeira query na tabela principal; 3 Recupere o ID do novo registro inserido; 4 Monte e execute a segunda query da tabela relacionada, usando também o ID da tabela principal.

Preciso em um único formulário fazer um cadastro de cliente com endereço . Uma tabela de dados do cliente que se relaciona com outra tabela de endereço de cliente . Essa seria a motivação para este insert simultâneo .

Deve ser feito em dois passos:

1) Construir o formulário para receber os dados; 2) Criar o script seguindo os passos do post anterior para salvar os dados.

Oi Marcelo, entendi, neste caso, é melhor fazer como o Gabriel informou, porém, tenta fazer isso dentro de uma transação, por que se uma inserção der problema, você já cancela a outra pra não ter metade dos dados apenas. Insere os dados da pessoa primeiro, e depois, insere os de endereço.

É bom ver que se preocupa com a normalização dos dados e não coloca tudo em um tabelão só. Precisando de mais ajuda, talvez em algo mais específico, pode contar com a gente. Abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software