我正在构建一个Android应用程序,我正在使用数据助手类来存储数据。
现在我面临的问题是如何从表格中删除旧的10位数据。
我正在使用以下查询,但我的应用程序崩溃了。
public void deleteRec() {
String ALTER_TBL ="delete from " + TBL_NAME +
" order by _id LIMIT 3);";
db.execSQL(ALTER_TBL);
}
使用 -
进行调用new DatabaseHelper(getApplicationContext()).deleteRec();
答案 0 :(得分:1)
尝试如下
String ALTER_TBL ="delete from " + TBL_NAME + " where rowid IN (Select rowid from " + TBL_NAME + " limit 10)";
希望这会对你有所帮助。
答案 1 :(得分:1)
在Android中使用的SQLite库中未启用DELETE with LIMIT。
您必须使用子查询来获取ID:
String ALTER_TBL = "delete from " + TBL_NAME + " where _id in " +
"(select _id from " + TBL_NAME + " order by _id limit 10)";
答案 2 :(得分:0)
我认为你的问题是最后的括号: