我有一个需要更新的数据库条目。
这种方法显然不起作用,但它应该有助于解释我想要做什么。
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子句?
答案 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'