【问题标题】:SQLite - increase value by a certain numberSQLite - 将值增加一定数量
【发布时间】:2010-10-19 03:51:22
【问题描述】:

是否可以在不读取最后一个值并随后更新它的情况下将表中的某个值增加某个数字?

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

我想将质量提高(或降低)x。为了实现这一点,我首先读取最后一个值 (50),增加或减少它,然后将其写回。

有没有直接的方法可以完成这个任务?

【问题讨论】:

    标签: sqlite


    【解决方案1】:

    示例 1(适用于所有行):

    UPDATE product SET price = price + 50
    

    示例 2(针对特定行):

    UPDATE product SET price = price + 50 WHERE id = 1
    

    示例 3(针对特定行):

    UPDATE product SET price = price + 50 WHERE id IN [1, 2, 3]
    

    示例 4(通用):

    UPDATE {table} SET {column} = {column} + {value} WHERE {condition}
    

    地点:

    • {table} - 表名
    • {column} - 列名
    • {value} - 列值应该增加或减少的数字
    • {condition} - 一些条件(如果有)

    【讨论】:

    • FROM 是 SQLite 关键字吗?文档似乎没有说明。 sqlite.org/lang_update.html
    • 如何在 python 中使用 sqlite3 来完成?我需要更新 col += 1 其中第一列 = ?
    • @user3358205:就像那个人说的...UPDATE table SET col = col + 1 WHERE first_column = ?
    • 要增加a list of criteria,请执行UPDATE Products SET Price = Price + 50 WHERE [ProductID] IN [1,3,56,78,44,23,8989,23]之类的操作
    • @Konstantin 这是否可以递增地增加列的所有行值?假设现有行是“R,S,T”,那么它应该是“R1,S2,T3”。有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 2013-06-05
    • 2017-09-30
    • 1970-01-01
    • 2015-03-19
    相关资源
    最近更新 更多