1

我有一个需要更新的数据库条目。

这种方法显然不起作用,但它应该有助于解释我试图做什么。

public void updateEntry(String user, String message, String mentions, String og) {
    ContentValues args = new ContentValues();
    args.put(KEY_MESSAGE, message);
    args.put(KEY_MENTIONS, mentions);
    this.db.update(ENTRY_TABLE, args, ("message = ?", "username = "+user), new String[] {og});
}

我需要更新“名称”列和“消息”列都与输入值匹配的条目。

数据库有多个具有相同用户的条目,并且可能有多个具有相同消息但用户不同的整体,因此需要多个 where 子句。

如何在 sql 查询中使用两个(或更多)where 子句?

4

4 回答 4

10

这个改变应该有效..

this.db.update(ENTRY_TABLE, args, ("message = ? AND username = "+user), new String[] {og});
于 2012-04-09T08:57:00.767 回答
4

您可以使用两个(或更多)where 子句,例如:

this.db.update(ENTRY_TABLE, args, ("message = ? and Field1 =? and Field2 =? and username = "+user), new String[] {og});

Fields 的值由 og (array) 提供

于 2012-04-09T09:06:59.723 回答
3

采用

db.rawQuery(your SQL update query);
于 2012-04-09T09:06:36.643 回答
2

我不熟悉 Java 语法,但在 SQL 中,您可以使用它AND来连接多个WHERE子句。像这样的东西:

WHERE message = 'foo' AND username = 'bar'
于 2012-04-09T08:56:32.727 回答