Android 更新SQLite中的前n条记录
我想从android应用程序更新SQLite数据库中的前n条记录。以下是我到目前为止尝试过的查询。我在Android 更新SQLite中的前n条记录,android,sqlite,Android,Sqlite,我想从android应用程序更新SQLite数据库中的前n条记录。以下是我到目前为止尝试过的查询。我在order附近遇到语法错误 update label set label_is_used = 1 where label_name !='temp' and label_cnt != 0 order by label_cnt desc limit 3 ------------------------------------ update label set label_is_used = 1 w
order
附近遇到语法错误
update label set label_is_used = 1 where label_name !='temp' and label_cnt != 0 order by label_cnt desc limit 3
------------------------------------
update label set label_is_used = 1 where label_name !='temp' and label_cnt != 0 order by label_cnt limit 3
从中可以看出,这应该在符合语法的情况下工作。
我哪里弄错了?上面说:
如果SQLite是使用SQLite\u ENABLE\u UPDATE\u DELETE\u LIMIT编译时选项构建的,那么UPDATE语句的语法将使用可选的ORDER BY和LIMIT子句进行扩展
默认情况下不会启用该选项,Android上肯定不会启用
作为一种解决方法,确定子查询中要更新的记录:
UPDATE label
SET label_is_used = 1
WHERE label_id IN (SELECT label_id -- or whatever you use as ID
FROM label
WHERE label_name != 'temp'
AND label_cnt != 0
ORDER BY label_cnt DESC
LIMIT 3);
这应该行得通。但是,您知道如何启用该选项并使我的查询工作吗?好奇的。:)哦,只需重新编译并重新安装Android操作系统的这一部分。