Вы можете увеличить целочисленное значение с помощью одного оператора UPDATE
:
sqlite> CREATE TABLE B(Id INTEGER, Value INTEGER);
sqlite> INSERT INTO B VALUES(0, 15);
sqlite> UPDATE B SET Value=Value + 23 WHERE Id = 0;
sqlite> SELECT * FROM B;
0|38
sqlite>
Использование одного оператора UPDATE
делает эту операцию атомарной, что делает ненужной любую дополнительную блокировку.
Если вам требуется более сложная обработка, вы можете использовать транзакции SQL , чтобы гарантировать, что любые сложные операции с базой данных выполняются атомарно.
В общем, вам следует избегать любых блокировок, внешних по отношению к SQLite, или работы сПодсистема блокировки SQLite - это очень хороший рецепт для взаимоблокировок ...
РЕДАКТИРОВАТЬ:
Чтобы добавить строку, вы можете использовать оператор конкатенации ||
:
sqlite> CREATE TABLE C(Id INTEGER, Value TEXT);
sqlite> INSERT INTO C VALUES(0, 'X');
sqlite> UPDATE C SET Value=Value || 'Y' WHERE Id = 0;
sqlite> SELECT * FROM C;
0|XY
sqlite>