SQLite Forum

Are result values always the same?
Given the following statement which sets the checkbox 'on' for a given pl_id and sets it 'off' for all others:
UPDATE pltable SET checkbox = (pl_id=?);
where the bind value is the id of a row in the table.

I tried it with sqlite3 and found that the value of checkbox is always 0 or 1 depending on the match or not.

Are the result values for this operation always 0 or 1? Does the SQL standard say so or is it implementation dependent? I mean, the result could be 0 and 99, right?

Also, should I define an index for this kind of query? If so, what should it be?