Я новичок в Sqlite. Раньше я пытался удалить строку в моей таблице с помощью trick_id
public void deleteTrick (int trick_id) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(Constants.TRICKS_TABLE, Constants.TRICK_ID + " ?= ", new String[]{ String.valueOf(trick_id)});
db.close();
}
но теперь мне нужно удалить строку на основе двух ограничений trick_id и opn_id.
Как использовать предложение where для удаления строки, которая соответствует тем же opn_id и trick_id, которые передаются в качестве параметров для метода удаления?
public void deleteTrick (int trick_id,int opn_id) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(Constants.TRICKS_TABLE, Constants.TRICK_ID + " ?= " WHERE Constants.OPN_ID + " ?= ", new String[]{ String.valueOf(trick_id), String.valueOf(opn_id)};
db.close();
}
Ваша команда удаления выглядит случайно построенной (или искаженной так называемой «марковской обезьяной», если вы понимаете, о чем я говорю).




удалить :
db.delete(TableName,ID_that_you_want_to_delete + " =?" , new String[]{your id that given for delete }) ;
db.delete(Constants.TRICKS_TABLE, Constants.TRICK_ID + " =? ",new String[]{String.valueOf(opn_id)})
Вы можете использовать такой метод удаления
public void deleteTrick() {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(Constants.TRICKS_TABLE, null, null);
db.close();
}
В этом коде первый ноль - это ваше предложение WHERE, а второй ноль - это ваши Whereargs. Если мой ответ правильный, вы можете согласиться. Удачного кодирования :)
Это не работает, когда вы используете "id = <id> AND otherId = <otherId>"?