如何使用web2py中的现有值更新记录值?

时间:2014-02-14 01:39:33

标签: web2py

假设我有一个表格客户,其字段为number_of_times_contacted。现在,我想通过在姓氏等于Smith的每条记录的现有值中加1来更新此字段值。在伪代码中,我想做类似的事情:

db(db.customer.last_name == "Smith").update(
     number_of_times_contacted = number_of_times_contacted + 1)

这样做的表达方式是什么?或者我是否先获取客户记录然后更新?

对于用id更新单个记录,表达式也会有所不同吗?

1 个答案:

答案 0 :(得分:1)

db(db.customer.last_name == "Smith").update(
   number_of_times_contacted=db.customer.number_of_times_contacted + 1)

按ID更新单个记录没有区别。

关于您的后续问题,确切的函数将取决于特定的数据库系统,但是这样的话:

from gluon.dal import Expression
db(db.customer.last_name == "Smith").update(
   last_name=Expression(db, 'LTRIM(RTRIM(last_name))'))