db(...).update(some_field = db.some_table.some_field_or_another_field + 1)
- should work ( it is a single db-query)


вторник, 25 мая 2021 г. в 19:59:34 UTC+3, Rob Paire: 

> Hi All
> Thank you for the helpful comments!  I am fine leaving the SQL Execute 
> statement in place, but thought the question was worth asking.
>
> -Rob
>
> On Tuesday, May 25, 2021 at 8:06:46 AM UTC-4 Carlos Correia wrote:
>
>> Às 18:20 de 20/05/21, Rob Paire escreveu:
>>
>> Hello all, 
>>
>> I am wondering if it's possible to use DAL update method to increment the 
>> value of table column H_REVNO in one line of code, and one trip to the 
>> database?
>>
>> I tried this query, and a couple of similar variations, but could not get 
>> it to work.
>> db(db.KICKER.id == request.vars.kicker_id).update(H_REVNO=H_REVNO+1)
>>
>> Here is what I am using for now
>> db.executesql("update KICKER set H_REVNO = H_REVNO + 1 where ID = "+ 
>> str(request.vars.kicker_id))  which of course works. 
>>
>> Thank you all!
>>
>>
>>
>> Hi,
>>
>> Using DAL you have to read the record first in other to get the value to 
>> be incremented. But, if there are many users it might lead to corrupted 
>> values due to concurrency.
>>
>> As far as I know, the latest is the only sane approach to solve your 
>> problem.
>>
>>
>> Carlos Correia
>> =========================
>> MEMÓRIA PERSISTENTE
>> GSM:  917 157 146 (Signal, WhatsApp)
>> e-mail: ge...@memoriapersistente.pt
>> URL: http://www.memoriapersistente.pt
>> XMPP (Jabber): car...@memoriapersistente.pt
>> GnuPG: wwwkeys.eu.pgp.net
>>
>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/4c02c060-6a2f-4905-8d7d-3c7bfa15ff28n%40googlegroups.com.

Reply via email to