SQLite-将值增加一定数量


93

是否可以在不读取最后一个值并随后对其进行更新的情况下,将表中的某个值增加一定数量?

即我有“产品”和“质量”列:产品:iLamp质量:50

我想通过x增加(或减少)质量。为此,我首先读取最后一个值(50),增大或减小该值,然后将其写回。

有直接的方法可以完成此任务吗?

Answers:


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
Jason S

如何使用sqlite3在python中完成此操作?我需要更新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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.