为了账号安全,请及时绑定邮箱和手机立即绑定

Android Sqlite 仅更新第一行

Android Sqlite 仅更新第一行

慕森王 2023-08-23 15:04:54
我只需要更新特定 sql 查询命令的第一行我的代码是:SQLiteDatabase db = this.getWritableDatabase();     String strSQL = "UPDATE table SET column = something WHERE  name = john AND age = 10";     db.execSQL(strSQL);我有大约 5 个结果,其条件相同,名称=约翰,年龄为 10这可以更新最后一项,但我希望它仅更新 WHERE 子句的第一行结果。这怎么可能?
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

尝试这个:

String strSQL = "UPDATE table SET column = something WHERE id IN (SELECT id FROM table WHERE name = john AND age = 10 LIMIT 1)";



查看完整回答
反对 回复 2023-08-23
?
UYOU

TA贡献1878条经验 获得超4个赞

提供的id是PK,试试


UPDATE table 

SET column = something 

WHERE id = (SELECT min(t2.id) 

            FROM table t2 

            WHERE t2.name = 'john' AND t2.age = 10)


查看完整回答
反对 回复 2023-08-23
?
萧十郎

TA贡献1815条经验 获得超12个赞

第一:( 在您的情况下)如果您只想更新第一行,则在表中再添加一个参数。它将帮助您找到唯一的记录

第二: 不要使用这样的更新查询

    String strSQL = "UPDATE table SET column = something WHERE  name = john AND age = 10";
查看完整回答
反对 回复 2023-08-23
  • 3 回答
  • 0 关注
  • 139 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信