Visualizzazione dei risultati da 1 a 8 su 8

Discussione: MySql update

  1. #1

    MySql update

    Ciao a tutti.

    devo aggiornare una tabella ma volevo che il cmapo venisse aggiornato solo se questo campo sia diverso dalla variabile da inserire volevo chiedere è possibile in SQL verificare se il campo e differente e se si aggiornare il campo???

    tipo:

    if(Campo!='$variabile') Campo=ì$variabile'

  2. #2
    ho provato così:

    Codice PHP:
    Update lista SET Venerdi=if(Venerdi != '$intVen',Venerdi,'$intVen')... 
    ma mi restituisce 1 non il valore che inserisco ad esempio 15

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ma non dovrebbe essere il contrario?

    codice:
    Update lista SET Venerdi=if(Venerdi != '$intVen','$intVen',Venerdi) where ..
    Oltretutto se vai ad aggiornare il campo con il valore che ha già non succede nulla.

  4. #4
    Originariamente inviato da nicola75ss
    Ma non dovrebbe essere il contrario?

    codice:
    Update lista SET Venerdi=if(Venerdi != '$intVen','$intVen',Venerdi) where ..
    Oltretutto se vai ad aggiornare il campo con il valore che ha già non succede nulla.
    Cioè????
    Io devo verificare se il valore che ha è uguale al valore che gli passo.

    Per il contrario hai ragione è stato una mia mancanza

  5. #5
    e comunque anche modificando al contrario mi inserisce sempre 1 e non il valore che gli passo ad es. 15

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Una volta eseguita la query se il valore è diverso il campo verrà aggiornato, in caso contrario no. Basta verificare il risultato di "x row(s) affected".

  7. #7
    scusa un ultima cosa poi ti lascio in pace
    facendo così:

    Codice PHP:
    Update lista SET Venerdi=if(Venerdi != '$intVen','$intVen',Venerdi
    la queri viene sempre aggiornata o mi sbaglio???

    Cioè se non è uguale inserisci il nuovo valore altrimenti inserisci quello che già ce.

    cioè viene sempre inserito un valore ed io non vorrei così io vorrei solo se è diverso inserire il nuovo valore.

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ti stai complicando la vita inutilmente.

    http://dev.mysql.com/doc/refman/5.0/en/update.html

    codice:
    if you set a column to the value it currently has, MySQL notices this and does not update it.
    tutto quel giro con l'if è superfluo.

    Una volta lanciata la query di update fai un

    select row_count();

    se il valore è pari a 0 vuol dire che il valore che hai passato è uguale a quello già memorizzato. Se stai lavorando con php usa la funzione mysql_affected_rows().

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.