Effetti SQL Update

di il
19 risposte

Effetti SQL Update

Salve,
c'è un modo per capire se un SQL Update appena eseguito ha effettivamente portato delle modifiche o se i valori erano uguali?

Se non è chiaro faccio un esempio.

19 Risposte

  • Re: Effetti SQL Update

    Supponi di voler dipingere una parete di bianco: come faresti per sapere se l'hai effettivamente dipinta e di che colore?

    1) un update NON viene eseguito SOLO se viene generato un errore.
    2) SE ci sono delle differenze tra il contenuto del record PRIMA dell'update e DOPO
  • Re: Effetti SQL Update

    migliorabile ha scritto:


    Supponi di voler dipingere una parete di bianco: come faresti per sapere se l'hai effettivamente dipinta e di che colore?

    1) un update NON viene eseguito SOLO se viene generato un errore.
    2) SE ci sono delle differenze tra il contenuto del record PRIMA dell'update e DOPO
    Quindi è come immaginavo..?
    Si è costretti a fare una SELECT?
  • Re: Effetti SQL Update

    Ciao,

    non ho capito se vuoi simulare un UPDATE per vedere quanti record saranno modificati, oppure sapere quante righe sono state modificate dopo l'UPDATE.

    Nel primo caso puoi farlo da phpMyAdmin, inserisci la query nella tab "SQL" e clicchi sul pulsante "Simula query".

    Ad ogni modo, dopo aver eseguito la query, ti viene ritornato il numero di righe coinvolte (rows affected).

    In PHP puoi ugualmente farti tornare questo valore.
  • Re: Effetti SQL Update

    flaviors200 ha scritto:


    Ciao,

    non ho capito se vuoi simulare un UPDATE per vedere quanti record saranno modificati, oppure sapere quante righe sono state modificate dopo l'UPDATE.

    Nel primo caso puoi farlo da phpMyAdmin, inserisci la query nella tab "SQL" e clicchi sul pulsante "Simula query".

    Ad ogni modo, dopo aver eseguito la query, ti viene ritornato il numero di righe coinvolte (rows affected).

    In PHP puoi ugualmente farti tornare questo valore.
    La seconda.. mysqli_affected_rows dovrebbe risolvere tutti i miei problemi
    Grazie!
  • Re: Effetti SQL Update

    Non è proprio quello che avevi chiesto...
  • Re: Effetti SQL Update

    oregon ha scritto:


    Non è proprio quello che avevi chiesto...
    A me sembra piuttosto comprensibile già dal primo messaggio invece, comunque sia avevo anche scritto che eventualmente avrei spiegato meglio con degli esempi se non era chiara la richiesta
  • Re: Effetti SQL Update

    L'update avviene anche se i valori dei campi erano uguali e ti viene restituito il conteggio delle righe aggiornate. È quello che vuoi? Dal primo post che hai scritto non sembra...
  • Re: Effetti SQL Update

    oregon ha scritto:


    L'update avviene anche se i valori dei campi erano uguali e ti viene restituito il conteggio delle righe aggiornate. È quello che vuoi? Dal primo post che hai scritto non sembra...
    Quindi anche se i campi erano uguali risulteranno le righe come modificate?
  • Re: Effetti SQL Update

    Esatto. Capito adesso?
  • Re: Effetti SQL Update

    LuigiMdg ha scritto:


    oregon ha scritto:


    L'update avviene anche se i valori dei campi erano uguali e ti viene restituito il conteggio delle righe aggiornate. È quello che vuoi? Dal primo post che hai scritto non sembra...
    Quindi anche se i campi erano uguali risulteranno le righe come modificate?
    Ma anche no... se il valore del campo che si vuole modificare non cambia, il numero di righe modificate è uguale a zero.
  • Re: Effetti SQL Update

    flaviors200 ha scritto:


    Ma anche no... se il valore del campo che si vuole modificare non cambia, il numero di righe modificate è uguale a zero.
    Pardon ... non parlavo specificatamente di quella funzione mysql ma in generale.

    Ad esempio con SQL Server, se hai due campi in cui uno cambia valore e l'altro no, hai 1 riga modificata e anche se cambi due campi con valori uguali ai precedenti, hai 1 riga modificata.

    Non so come si comporti quella funzione con aggiornamenti parziali della riga e se è quello che serve a chi ha fatto la domanda.
  • Re: Effetti SQL Update

    oregon ha scritto:


    flaviors200 ha scritto:


    Ma anche no... se il valore del campo che si vuole modificare non cambia, il numero di righe modificate è uguale a zero.
    Pardon ... non parlavo specificatamente di quella funzione mysql ma in generale.

    Ad esempio con SQL Server, se hai due campi in cui uno cambia valore e l'altro no, hai 1 riga modificata e anche se cambi due campi con valori uguali ai precedenti, hai 1 riga modificata.

    Non so come si comporti quella funzione con aggiornamenti parziali della riga e se è quello che serve a chi ha fatto la domanda.
    Strano, forse dipende dall'implementazione del DBMS.
  • Re: Effetti SQL Update

    oregon ha scritto:


    flaviors200 ha scritto:


    Ma anche no... se il valore del campo che si vuole modificare non cambia, il numero di righe modificate è uguale a zero.
    Pardon ... non parlavo specificatamente di quella funzione mysql ma in generale.

    Ad esempio con SQL Server, se hai due campi in cui uno cambia valore e l'altro no, hai 1 riga modificata e anche se cambi due campi con valori uguali ai precedenti, hai 1 riga modificata.

    Non so come si comporti quella funzione con aggiornamenti parziali della riga e se è quello che serve a chi ha fatto la domanda.
    E a me serve proprio così.. Che anche se viene modificato soltanto un campo deve risultarmi una riga come modificata.. Ed in effetti è così
  • Re: Effetti SQL Update

    LuigiMdg ha scritto:


    E a me serve proprio così.. Che anche se viene modificato soltanto un campo deve risultarmi una riga come modificata.. Ed in effetti è così
    Ma tu usi mysql o altro? Ancora non si è capito.

    Se usi mysql non so se come si comporti quella funzione nel caso che hai indicato tu. Sicuramente SQL Server (con la ROWCOUNT) restituirebbe comunque 1
Devi accedere o registrarti per scrivere nel forum
19 risposte