Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Query sql di UPDATE

  1. #1

    Query sql di UPDATE

    Ciao a tutti,
    vorrei sapere se è possibile effettuare l'operazione che vi sto per spiegare utilizzando una sola query, o al massimo due.
    Il caso è questo:
    Ho un database con tre valori: nome utente, valore_1, valore_2.

    Devo fare in modo che l'applicazione incrementi di uno il valore_1 di un utente ed incrementi, sempre di uno, il valore_2 di un altro utente.

    Io lo saprei fare in questo modo:
    [list=1][*]Con una query estraggo valore_1 di un utente e valore_2 dell'altro utente.[*]Con un'altra query aggiorno valore_1 di un utente[*]Con l'ultima query aggiorno valore_2 dell'altro utente.[/list=1]
    Utilizzerei però ben tre query! E mi sembrano troppe.
    Sapete suggerirmi un modo per ridurre il numero di query da utilizzare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    6,034
    prova così:

    UPDATE tabella SET valore_1=valore_1+1, valore_2=valore_2+1 WHERE utente IN ('tizio', 'caio')

  3. #3
    Ho provato ad eseguire la query che mi hai postato, ma mi appare questo errore:

    #1270 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT), (utf8_general_ci,COERCIBLE), (utf8_general_ci,COERCIBLE) for operation ' IN '

    Ciao

  4. #4
    Utente di HTML.it L'avatar di njno
    Registrato dal
    Jan 2007
    Messaggi
    48
    Hai provato a modificare la query di meganoide in questo modo:

    UPDATE tabella SET valore_1=valore_1+1 WHERE utente='tizio';
    UPDATE tabella SET valore_2=valore_2+1 WHERE utente='caio';

    Dovrebbe funzionare.

  5. #5
    Grazie a meganoide e a njno.
    Ora è tutto ok.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.