Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [mysql] INSERT UPDATE contemporaneamente

    salve a tutti. ho la necessità che dopo (o contemporanemente) una query di INSERT su di una tabella mi venga eseguito un UPDATE su di un'altra tabella riprendendo l'id autoincrement del recordo inserito con la prima query (che poi è il mio vero dilemma). cosa suggerite?
    Planet Earth is blue and there's nothing I can do

  2. #2
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Codice PHP:
    $sql1="INSERT INTO tab1 (campo1, campo2) VALUES ('$var1' , '$var2')";

    $sql2="SELECT id FROM tab1 WHERE campo1='$var1'";
    mysql_query($sql);

    $query=mysql_query($sql2);
    $rs=mysql_fetch_array($query);
    $id=$rs['id'];

    $sql3="UPDATE tab2 SET id=$id";
    mysql_query($sql3); 
    Scritto di getto.. siocuramente ci sono modi più efficenti ..
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  3. #3
    thanx infatti questa è la soluzione che avevo in mente anche io, ma il fatto è che nel mio caso $var1 potrebbe non essere univoca nella tabella quindi c'è il rischio di fare confusione tra i record
    ma crecavo qualcosa che ho gestisse il tutto in una query (ma penso sia poco possibile) o cmq che mi ricavasse l'ultimo id relativo all'insert ma ho visto che non ci sono funzioni a riguardo
    Planet Earth is blue and there's nothing I can do

  4. #4
    Usa la funzione
    mysql_insert_id()

    ti restituisce l'ultimo id inserito (sempre a patto che utilizzi un campo numerico di tipo autoincrement come chiave della tua tabella)

    per maggiori info:
    http://www.php.net

  5. #5
    grazzzie non avevo fatto caso a questa funzione! allora problema risolto
    Planet Earth is blue and there's nothing I can do

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.