SQLite - збільшити значення на певне число


93

чи можна збільшити певне значення в таблиці на певне число, не зчитуючи останнє значення і не оновлюючи його згодом?

тобто у мене є стовпці "продукт" та "якість": product: iLamp якість: 50

Я хочу збільшити (або зменшити) якість на х. Для досягнення цього я спочатку читаю останнє значення (50), збільшую чи зменшую його і записую назад.

Чи є прямий спосіб виконати це завдання?

Відповіді:


201

Зразок 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

@ 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]
zelusp

@Konstantin чи можливо це поступове збільшення всіх значень рядка стовпця? Скажімо, якщо існуючі рядки мають значення "R, S, T", тоді це має бути "R1, S2, T3". Будь-яка пропозиція?
CoDe
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.