我只需要更新特定sql查询命令的第一行
我的代码是:
SQLiteDatabase db = this.getWritableDatabase();
String strSQL = "UPDATE table SET column = something WHERE name = john AND age = 10";
db.execSQL(strSQL);
我喜欢5个结果,它们具有相同的条件,即name = john和10岁
这可以更新最后一个项目,但是我希望它仅更新WHERE子句的第一行结果。怎么可能呢?
答案 0 :(得分:1)
尝试一下:
String strSQL = "UPDATE table SET column = something WHERE id IN (SELECT id FROM table WHERE name = john AND age = 10 LIMIT 1)";
答案 1 :(得分:0)
提供的ID是PK,请尝试
UPDATE table
SET column = something
WHERE id = (SELECT min(t2.id)
FROM table t2
WHERE t2.name = 'john' AND t2.age = 10)
答案 2 :(得分:0)
第一: (针对您的情况)如果只想更新第一行,则在表中再添加一个参数。这将帮助您唯一地找到该记录
第二: 不要使用这样的更新查询
String strSQL = "UPDATE table SET column = something WHERE name = john AND age = 10";