2009-04-13 9 views
60

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

es decir tengo columnas "producto" y "calidad": producto: iLamp calidad: 50

Quiero aumentar (o disminuir) la calidad por x. Para lograr esto, estoy leyendo por primera vez el último valor (50), incrementándolo o disminuyéndolo, y escribiéndolo nuevamente.

¿Hay una forma directa de completar esta tarea?

Respuesta

131

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érico):

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

Donde:

  • {Table} - tabla Nombre de
  • {Column} - columna nombre
  • {Value} - un número por el que de la columna de valor debería ser aumentado o disminuido
  • {Condition} - alguna condición si cualquier
+2

FROM es una palabra clave SQLite? Los documentos no parecen indicarlo. http://www.sqlite.org/lang_update.html –

+0

bien, lo arreglaron, gracias. –

+0

¿cómo se puede hacer esto en python con sqlite3? Necesito actualizar un col + = 1 donde en la primera columna =? –

Cuestiones relacionadas