SQLite: aumenta il valore di un certo numero


93

è possibile aumentare un certo valore in una tabella di un certo numero senza leggere l'ultimo valore e successivamente aggiornarlo?

cioè ho le colonne "prodotto" e "qualità": prodotto: iLamp qualità: 50

Voglio aumentare (o diminuire) la qualità di x. Per ottenere ciò, leggo prima l'ultimo valore (50), aumentandolo o diminuendolo e riscrivendolo.

C'è un modo diretto per completare questa attività?

Risposte:


201

Esempio 1 (per tutte le righe):

UPDATE Products SET Price = Price + 50

Esempio 2 (per una riga specifica):

UPDATE Products SET Price = Price + 50 WHERE ProductID = 1

Campione 3 (generico):

UPDATE {Table} SET {Column} = {Column} + {Value} WHERE {Condition}

Dove:

  • {Table} - nome della tabella
  • {Column} - nome della colonna
  • {Value} - un numero di cui il valore della colonna dovrebbe essere aumentato o diminuito
  • {Condition} - qualche condizione, se presente

3
FROM è una parola chiave SQLite? I documenti non sembrano indicarlo. sqlite.org/lang_update.html
Jason S

come può essere fatto in Python con sqlite3? Devo aggiornare una colonna + = 1 dove nella prima colonna =?
st.ph. il

@ user3358205: Come dice l'uomo ...UPDATE table SET col = col + 1 WHERE first_column = ?
Mumbleskates

Per incrementare un elenco di criteri , fare qualcosa comeUPDATE Products SET Price = Price + 50 WHERE [ProductID] IN [1,3,56,78,44,23,8989,23]
zelusp

@ Konstantin è possibile incrementare in modo incrementale tutto il valore di riga di una colonna? Diciamo che se le righe esistenti sono "R, S, T", dovrebbe essere "R1, S2, T3". Qualche suggerimento ?
CoDe
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.