SQLite - увеличить значение на определенное число

94

Можно ли увеличить определенное значение в таблице на определенное число без чтения последнего значения и последующего его обновления?

т.е. у меня есть столбцы «продукт» и «качество»: product: iLamp quality: 50

Я хочу увеличить (или уменьшить) качество на x. Для этого я сначала читаю последнее значение (50), увеличиваю или уменьшаю его и записываю обратно.

Есть ли прямой способ выполнить эту задачу?

Илья Суздальницкий
источник

Ответы:

206

Пример 1 (для всех строк):

UPDATE Products SET Price = Price + 50

Пример 2 (для конкретной строки):

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

Образец 3 (общий):

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

Куда:

  • {Table} - название таблицы
  • {Column} - название столбца
  • {Value} - число, на которое следует увеличить или уменьшить значение столбца
  • {Condition} - какое-то условие, если оно есть
Константин Таркус
источник
3
FROM - ключевое слово SQLite? Документы, похоже, не указывают на это. sqlite.org/lang_update.html
Джейсон С.
как это можно сделать в python с sqlite3? Мне нужно обновить col + = 1, где в первом столбце =?
st.ph.n 03
@ user3358205: Как этот человек говорит ...UPDATE table SET col = col + 1 WHERE first_column = ?
Mumbleskates
Чтобы UPDATE Products SET Price = Price + 50 WHERE [ProductID] IN [1,3,56,78,44,23,8989,23]
увеличить
@Konstantin, можно ли постепенно увеличивать значение всей строки столбца? Скажем, если существующие строки - «R, S, T», то это должно быть «R1, S2, T3». Любое предложение ?
CoDe