使用 WHERE 子句更新 JOIN 另一个 table
Update with WHERE clause JOIN another table
我有以下 table:
习惯
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);
由于 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});
我有以下 table:
习惯
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);
由于 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});