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

时间:2015-02-27 12:45:21

标签: android sqlite

我正在构建一个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();

3 个答案:

答案 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)

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

enter image description here