Android Sqlite仅更新第一行

时间:2019-09-25 09:01:28

标签: java android sql android-sqlite

我只需要更新特定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子句的第一行结果。怎么可能呢?

3 个答案:

答案 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";

改为like this