Обновить с предложением WHERE Присоединиться к другой таблице - PullRequest
0 голосов
/ 10 июня 2019

У меня есть следующая таблица:

Привычка

ID INT PRIMARY KEY

NUMBER INT FOREIGN KEY

DATE DATE

DONE BOOL


HABIT_DESCRIPTION
NUMBER INT PRIMARY KEY

NAME VARCHAR

DESCRIPTION VARCHAR

Я хочу обновить определенную строку в HABIT, где имя HABIT_DESCRIPTION равно

Я пробовал это:

ContentValues cv = new ContentValues();
    cv.put(HABIT_COL_DONE, true);
    String whereclause = HABIT_DESCRIPTION_NAME+ "='water'";
    return db.update("HABIT",cv,whereclause,null);

1 Ответ

0 голосов
/ 10 июня 2019

Поскольку SQLite не поддерживает объединения в операторе UPDATE, вы можете использовать EXISTS:

String whereclause = 
    "EXISTS (SELECT 1 FROM HABIT_DESCRIPTION WHERE NUMBER = HABIT.NUMBER AND DESCRIPTION = ?)";
String param = "water";
return db.update("HABIT", cv, whereclause, new String[] {param});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...