SQLite удалить аргументы предложения where

Я новичок в 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();
}

Это не работает, когда вы используете "id = <id> AND otherId = <otherId>"?

Yuxal 10.03.2018 18:53

Ваша команда удаления выглядит случайно построенной (или искаженной так называемой «марковской обезьяной», если вы понимаете, о чем я говорю).

Phantômaxx 10.03.2018 20:11
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
2
260
2

Ответы 2

удалить :

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. Если мой ответ правильный, вы можете согласиться. Удачного кодирования :)

Другие вопросы по теме