Я пытаюсь выполнить один запрос на обновление, где мне нужно обновить одно поле для многих людей. Теперь ниже запрос работает: -Как использовать предложение WHERE IN в Android Sqlite?
UPDATE PERSON SET ISSELECTED=1 WHERE ID IN (132,142,115,141,41,133,40,56,139,134,135,65,143,9,64,39,120,104,122,35,19,98,124,127,130,136,119,123,55,102,5,128,140,95,138,131,96,93,129,103,94,89,126,21,29,125,3,101,92,113,4,88,111,63,60,38,114,90,31,118,99,121,117,100,112,97,25,116,10,32,27,30,14,26,12,61,57,20,107,110,91,109,108,106,105,16,62,33,59,18,58,36,11,15,37,28,24,6,7,8,34,13)
Но он не возвращает количество обновленных строк при использовании с execSql
или rawQuery
Я пытаюсь сформировать этот запрос, используя update
метод, который возвращает нет. от затронутых рядов
int rowsUpdatedSelected = db.update("PERSON", values, "ID" + " = ?", new String[] {id.toString()});
// where id is a StringBuilder object containing the ids like above
Но это не работает.
- это числовое поле ID или текст в базе данных –
Это текстовое поле, но я запустил этот запрос в sqlite-менеджере и обновил данные. –
. Ваш запрос заканчивается как '... WHERE ID = '132,142,115, ...''. –