Увеличить значение столбца в sqlite без метода execSQL - PullRequest
1 голос
/ 29 июля 2011

Я бы хотел обновить один из столбцов моей таблицы следующим запросом:

update TABLE set COLUMN_NAME= COLUMN_NAME+1;

используя, если возможно,

update(String table, ContentValues values, String whereClause, String[] whereArgs)

метод в классе SQLiteDatabase в Android Это возможно?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 01 августа 2012

Возможно, вам повезет с execSQL.Вот что я сделал, чтобы решить похожую проблему:

db.beginTransaction();
try {
    //do update stuff, including execSQL()
    db.setTransactionSuccessful();
} finally {
    db.endTransaction();
}

См. Также https://stackoverflow.com/a/5575277/6027

0 голосов
/ 27 июня 2012

хотя это немного запоздало, я просто добавляю пример, который работает ...

SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table test1(a int primary key, b int);
sqlite> begin transaction;
sqlite> insert into test1(a,b) values (1,4);
sqlite> insert into test1(a,b) values (2,5);
sqlite> insert into test1(a,b) values (3,4);
sqlite> commit;
sqlite> select * from test1;
1|4
2|5
3|4
sqlite> update test1 set b=b+1;
sqlite> select * from test1;
1|5
2|6
3|5
sqlite> update test1 set b=b+10;
sqlite> select * from test1;
1|15
2|16
3|15
sqlite> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...