Jump to content
Biel.

duas tabelas na mesma query

Recommended Posts

Olá pessoal. Direto ao ponto. Na query onde está a tab_aprendiz, quero colocar a tab_aluno para cadastrar os mesmos dados nas duas tabelas ao mesmo tempo. Gostaria de um exemplo prático pessoal. Como faço? Obrigado!

 

tab_aprendiz
nome email

tab_aluno
nome  email

....

<?php 
$sql = mysqli_query($con, "INSERT INTO tab_aprendiz(
nome,
email
)
VALUES(   
'".$nome."',	   
'".$email."' 
) 
");

?>

 

Share this post


Link to post
Share on other sites

@Biel. É bem simples, é só coloca um ponto e virgula no final da instrução e repetir o comando de inserir apontando para outra tabela.

 

Exemplo:

<?php

$sql = mysqli_query($con, "
    INSERT INTO `tab_aprendiz` (`nome`, `email`) VALUES ('".$nome."', '".$email."'); 
    INSERT INTO `tab_aluno` (`nome`, `email`) VALUES ('".$nome."', '".$email."');
    ");

 

Share this post


Link to post
Share on other sites
Em 20/06/2019 at 05:59, gabrielms disse:

@Biel. É bem simples, é só coloca um ponto e virgula no final da instrução e repetir o comando de inserir apontando para outra tabela.

 

Exemplo:


<?php

$sql = mysqli_query($con, "
    INSERT INTO `tab_aprendiz` (`nome`, `email`) VALUES ('".$nome."', '".$email."'); 
    INSERT INTO `tab_aluno` (`nome`, `email`) VALUES ('".$nome."', '".$email."');
    ");

 

 

É isso mesmo, mas supondo que o aprendiz é de um aluno você pode criar uma FK (chave estrangeira) e evitar a redundância dos dados, assim informando que um aprendiz pertence a um aluno.

 

Assim você evita ter que atualizar as duas tabelas quando o aluno atualizar o e-mail por exemplo.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Biel.
      Olá pessoal. Direto ao ponto. Pessoal No banco de dados mysql, varchar máximo 255 caracteres.  Gostaria de saber se o sistema fica lento deixando varchar com mais caracteres que o necessário. Tipo
      no campo nome  vou digitar no máximo 50 caracteres, mas quero varchar com 255
      no campo telefone  vou digitar no máximo 20 caracteres,  mas quero varchar com 255
      no campo email vou digitar no máximo 30 caracteres,  mas quero varchar com 255
      no campo end  vou digitar no máximo 40 caracteres,  mas quero varchar com 255
       
      Tem algum problema? o sistema vai ficar lento com muitos dados ou não tem nenhum problema em usar varchar com 255 pra todos os campos? Obrigado.
    • By Biel.
      Olá pessoal. Direto ao ponto. Na query onde está a tab_aprendiz, quero colocar a tab_aluno para cadastrar os mesmos dados nas duas tabelas ao mesmo tempo. Como faço? Obrigado!
      tab_aprendiz id nome email tab_aluno id nome email ...
      <?php $sql = mysqli_query($con, "INSERT INTO tab_aprendiz( nome, email ) VALUES( '".$nome."', '".$email."' ) "); ?>  
    • By Biel.
      Olá pessoal. Direto ao ponto. O código abaixo está funcionando normalmente. Só não tem um valor mínimo e máximo a ser digitado
      Gostaria que tivesse um valor minimo de 3 e máximo de 7 números. Como Faço? Obrigado.
       
      Máscara Javascript moeda R$
      <script language="javascript"> function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){ var sep = 0; var key = ''; var i = j = 0; var len = len2 = 0; var strCheck = '0123456789'; var aux = aux2 = ''; var whichCode = (window.Event) ? e.which : e.keyCode; if (whichCode == 13 || whichCode == 8) return true; key = String.fromCharCode(whichCode); // Valor para o código da Chave if (strCheck.indexOf(key) == -1) return false; // Chave inválida len = objTextBox.value.length; for(i = 0; i < len; i++) if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break; aux = ''; for(; i < len; i++) if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i); aux += key; len = aux.length; if (len == 0) objTextBox.value = ''; if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux; if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux; if (len > 2) { aux2 = ''; for (j = 0, i = len - 3; i >= 0; i--) { if (j == 3) { aux2 += SeparadorMilesimo; j = 0; } aux2 += aux.charAt(i); j++; } objTextBox.value = ''; len2 = aux2.length; for (i = len2 - 1; i >= 0; i--) objTextBox.value += aux2.charAt(i); objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len); } return false; } </script> valor R$: <input type="text" name="valor" required onKeyPress="return(MascaraMoeda(this,'.',',',event))">  
    • By Biel.
      Olá pessoal. Direto ao ponto. Pessoal quero (UNIR e DEIXAR) as duas tabelas abaixo na ordem decrescente (DESC)
      tab_aluno id_aluno letras 1 aaa 2 bbb 3 ccc --------------------- tab_aprendiz id_aprendiz nome 1 pedro 2 joao 3 jose ...
      <?php // tentei assim e não deu certo $sql = mysqli_query($con, "SELECT * FROM tab_aluno INNER JOIN tab_aprendiz ORDER BY id_aluno,id_aprendiz DESC "); // // tentei assim e também não deu certo $sql = mysqli_query($con, "SELECT * FROM tab_aluno INNER JOIN tab_aprendiz ORDER BY id_aluno DESC , id_aprendiz DESC "); ?> <?php $sql = mysqli_query($con, "SELECT * FROM tab_aluno ORDER BY id_aluno DESC "); $sql = mysqli_query($con, "SELECT * FROM tab_aprendiz ORDER BY id_aprendiz DESC "); ?>  
    • By Biel.
      Direto ao ponto. Pessoal abaixo temos 
      Ex1 que imprime A,B,C,D
      Ex2 que imprime A,B,C,D,A
      No EX2 letra A está se repetindo. Gostaria que não se repetisse. Pensei em duas possibilidades:

      a 1º possibilidade é ignorar que existe no array duas letras A , ou seja não importa quantas letras A tenha no array, será exibido apenas uma letra A
      a 2º possibilidade é criar uma regra if, else e se porventura for adicionado no array dados iguais a regra if else vai impedir que isso ocorra.
      Pessoal não sei por onde começar, mas acredito que a idéia sugerida pode ser válida para que a tarefa seja resolvida. Obrigado.
      ...
      Ex1
      <?php $dados = array("A" , "B" , "C" , "D" ); shuffle($dados); for($a = 0; $a <count($dados); $a++){ $exibe = $dados[$a].' <br> '; echo ($exibe); } ?> Ex2
      <?php $dados = array("A" , "B" , "C" , "D" "A" ); shuffle($dados); for($a = 0; $a <count($dados); $a++){ $exibe = $dados[$a].' <br> '; echo ($exibe); } ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.