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?

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

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.