On 8/9/16, Paulo Roberto <betobran...@gmail.com> wrote: > > I need some help to ... increment a counter and get its > former value.
> My question is: Preparing 4 statements, binding then and calling > *sqlite3_step > *for each one of then in order, would have the expected atomic operation > behavior or not? If not, how could I achieve this? > Yes. Maybe another technique would be to create an application-defined function named "remember()" that takes a single integer argument and returns the same value, but remembers the value in a variable in your application. Then run: UPDATE mytable SET counter=remember(counter)+1 WHERE counterid=? That way you would only have a single prepared statement to deal with. On the other hand, the results get written into a single variable, so it wouldn't work to use this from multiple threads, unless each thread had its own remember() function. -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users