【发布时间】:2020-01-25 10:27:00
【问题描述】:
我只需要更新特定 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 子句的第一行结果。这怎么可能?
【问题讨论】:
-
最好使用唯一的列来识别您的用户,并且更新第一项
cursor.moveToFirst();应该可以工作 -
我已经为每个用户提供了唯一的 ID,但我只是在我的问题中提供了一个示例。难道没有一种方法可以从单行更新行而不是创建游标并更新第一行吗?
-
然后像答案说的那样使用限制
-
不工作...
-
不要写原始查询,使用limit找到项目,然后使用
yourdb.update(tablename,contentvalues,where,whereargs[])这样更新stackoverflow.com/a/9798527/8528047
标签: java android sql android-sqlite