hrm...

for row in db(db.person.id > 0).select():
   row.update_record(name = row.name + "x")

This also will work, although not as efficient since the processing
will be done in python and not the database.

-Thadeus





On Wed, Mar 24, 2010 at 11:10 PM, mr.freeze <[email protected]> wrote:
> This is ugly but should work:
>
> from gluon.sql import Expression
> db(db.person.id>0).update(name = Expression('person.name || "x"'))
>
> I'm almost positive there is a better way.
>
>
> On Mar 24, 10:43 pm, Russell <[email protected]> wrote:
>> A bigger problem...
>>
>> On further testing, it looks like db(db.person.id>0).update(name =
>> db.person.name + "x")  does NOT work.
>>
>> The DAL seems to treat this as an integer addition and the field is
>> updated to 0 (at least on sqlite).
>>
>> On Mar 25, 4:11 pm, Russell <[email protected]> wrote:
>>
>> > Thanks very much for the reply.
>>
>> > Sorry to say that it doesn't work.  Your answer gives this...
>> > "UPDATE person SET name='xSUBSTR(person.name,1,(1 - 0))';"
>>
>> > On Mar 25, 3:58 pm, "mr.freeze" <[email protected]> wrote:
>>
>> > > Whoops, backwards:
>> > > db(db.person.id>0).update(name = "%s%s" % ("x",db.person.name))
>>
>> > > On Mar 24, 9:57 pm, "mr.freeze" <[email protected]> wrote:
>>
>> > > > Try this:
>> > > > db(db.person.id>0).update(name = "%s%s" % (db.person.name,"x"))
>>
>> > > > On Mar 24, 9:52 pm, Russell <[email protected]> wrote:
>>
>> > > > > Hi there,
>>
>> > > > > I'm trying to prepend a string to a field.  While, this works:
>>
>> > > > > >>> db(db.person.id>0).update(name = db.person.name + "x")
>>
>> > > > > This does not:
>>
>> > > > > >>> db(db.person.id>0).update(name = "x" + db.person.name)
>>
>> > > > > Traceback (most recent call last):
>> > > > >   File "<string>", line 1, in <fragment>
>> > > > > TypeError: cannot concatenate 'str' and 'Expression' objects
>>
>> > > > > I have found a work-around, but it is pretty ugly:
>>
>> > > > > >>> db(db.person.id>0).update(name = db.person.name[0:0] + "x" + 
>> > > > > >>> db.person.name)
>>
>> > > > > Does anyone have a better solution?
>>
>> > > > > Thanks
>> > > > > Russell
>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "web2py-users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/web2py?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.

Reply via email to