使用java中的多个WHERE子句更新sql数据库

时间:2012-04-09 08:54:20

标签: java android sql database

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

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

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});
}

我需要更新“name”列和“message”列都匹配输入值的条目。

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

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

4 个答案:

答案 0 :(得分:10)

这种改变应该有效..

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

答案 1 :(得分:4)

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

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

Fields的值由og(数组)

提供

答案 2 :(得分:3)

使用

db.rawQuery(your SQL update query);

答案 3 :(得分:2)

我不熟悉Java语法,但在SQL中,您可以使用AND加入多个WHERE子句。像这样:

WHERE message = 'foo' AND username = 'bar'