SQLite: aumenta el valor en un cierto número

93

¿Es posible aumentar un cierto valor en una tabla en un cierto número sin leer el último valor y luego actualizarlo?

es decir, tengo las columnas "producto" y "calidad": producto: calidad de iLamp: 50

Quiero aumentar (o disminuir) la calidad en x. Para lograr esto, primero estoy leyendo el último valor (50), aumentando o disminuyéndolo, y escribiéndolo.

¿Existe una forma directa de completar esta tarea?

Ilya Suzdalnitski
fuente

Respuestas:

201

Muestra 1 (para todas las filas):

UPDATE Products SET Price = Price + 50

Muestra 2 (para una fila específica):

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

Muestra 3 (genérica):

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

Dónde:

  • {Table} - nombre de la tabla
  • {Column} - nombre de la columna
  • {Value} - un número en el que se debe aumentar o disminuir el valor de la columna
  • {Condition} - alguna condición si la hay
Konstantin Tarkus
fuente
3
FROM es una palabra clave SQLite? Los doctores no parecen indicarlo. sqlite.org/lang_update.html
Jason S
¿Cómo se puede hacer esto en Python con sqlite3? Necesito actualizar un col + = 1 donde en la primera columna =?
st.ph.n
@ user3358205: Como dice el hombre ...UPDATE table SET col = col + 1 WHERE first_column = ?
Mumbleskates
Para incrementar una lista de criterios , haga algo comoUPDATE Products SET Price = Price + 50 WHERE [ProductID] IN [1,3,56,78,44,23,8989,23]
zelusp
@Konstantin ¿es posible incrementar el valor de todas las filas de una columna de forma incremental? Digamos que si las filas existentes son "R, S, T", entonces debería ser "R1, S2, T3". Cualquier sugerencia ?
Código