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

    eseguire due query insert into

    ciao a tutti,
    ho necessità di eseguire due query insert into ma assolutamente devono essere eseguite entrambe nel senso che se una delle due per un qualsiasi motivo dovesse generare un errore (e quindi non viene eseguita), non deve essere eseguita neanche l'altra
    come potrai fare? grazie!

  2. #2
    Sono curioso di vedere le risposte dato che mi interesserebbe anche a me.

    Però ti spiego come io risolvo in questi casi:
    se la prima query fallisce non eseguo la seconda... e fin qui nulla di chè...

    se invece la prima ha successo, mentre la seconda fallisce, faccio il delete del record inserito tramite la prima query

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    penso che questo sia uno scenario tipico da trigger e stored procedures... ma non me ne sono mai interessato per pigrizia, quindi non ci giurerei.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Si in effetti credo che sia l'unica soluzione =P

    Effettua il controllo sulla prima e se non funziona ok, altrimenti passi ad eseguire la seconda. Se la seconda non ha esito positivo, allora cancelli il record precedentemente inserito.

    Se poi posti il codice e ci fai capire di che si tratta XD forse troviamo altre soluzioni =P
    anche se questa dovrebbe andare bene

  5. #5
    si, effettivamente a livello logico questa soluzione funziona ma esistono altre procedure automatiche?
    magari qualche funzione che fa proprio questo?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    se il db che usi è transazionale è sufficiente gestire bene le commit/rollback
    altrimenti la delete suggerita è la più semplice sempre se attuabile cioè se sei sicuro che
    cancellerai il dato giusto.
    per le store prcedure e trigger dipende molto da ciò che devi fare.

  7. #7
    Originariamente inviato da stabi
    altrimenti la delete suggerita è la più semplice sempre se attuabile cioè se sei sicuro che
    cancellerai il dato giusto.
    non ho capito... io prelevo mysql_insert_id() della prima query per utilizzarlo per una eventuale query delete. Quale è la possibilità di eliminare un record errato?

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    appunto con id vai tranq

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.