如何在android中从数据库SQlite中删除前10行?

如何在android中从数据库SQlite中删除前10行?,android,sqlite,Android,Sqlite,我正在构建一个android应用程序,在其中我使用data helper类来存储数据 现在我面临的问题是如何从表中删除前10名的数据 我正在使用下面的查询,但我的应用程序崩溃了 public void deleteRec() { String ALTER_TBL ="delete from " + TBL_NAME + " order by _id LIMIT 3);"; db.execSQL(ALTER_TBL); } 以及使用以下方法

我正在构建一个android应用程序,在其中我使用data helper类来存储数据

现在我面临的问题是如何从表中删除前10名的数据

我正在使用下面的查询,但我的应用程序崩溃了

    public void deleteRec() {
    String ALTER_TBL ="delete from " + TBL_NAME +
            " order by _id LIMIT 3);";
    db.execSQL(ALTER_TBL);
    }
以及使用以下方法呼叫—

new DatabaseHelper(getApplicationContext()).deleteRec();

我认为你的问题是最后一个括号:

一次尝试如下

String ALTER_TBL ="delete from " + TBL_NAME + " where rowid IN (Select rowid from " + TBL_NAME + " limit 10)";

希望这对您有所帮助。

Android中使用的SQLite库中未启用带限制的删除

您必须使用子查询来获取ID:

String ALTER_TBL=“从“+TBL_NAME+”中删除,其中_idin”+
“(从“+TBL_NAME+”按_idlimit 10下单”中选择_id);

您是否尝试去掉最后一个“)”?拆下支架后,将3改为10;)我更新了我的答案一次检查。谢谢,我也认为这是问题所在。你能建议我更好的方法吗?删除该选项并重试。如果出现错误,复制它并将其添加到您的问题中我应该删除什么?您必须删除bracket@hiteshmatnani删除perenthesis
。谢谢你的回答,这帮了我很大的忙,也节省了我的时间:)我想这就是它不起作用的真正原因。在不应在查询中的“)”旁边。必须使用编译选项启用带限制的删除,请参阅: