所以......这是我的代码:
public static final String DATABASE_NAME = "MY_DATABASE";
public static final String DATABASE_TABLE = "MY_TABLE";
public static final int DATABASE_VERSION = 1;
public static final String KEY_CONTENT = "Content";
public static final String KEY_ID = "_id";
private static final String SCRIPT_CREATE_DATABASE = "create table "
+ DATABASE_TABLE + " (" + KEY_ID
+ " integer primary key, " + KEY_CONTENT
+ " text not null);";
private SQLiteHelper sqLiteHelper;
private SQLiteDatabase sqLiteDatabase;
private Context context;
public SQLiteAdapter(Context c) { context = c; }
public int delete() {
return sqLiteDatabase.delete(DATABASE_TABLE, KEY_ID , null);
}
日志中没有错误消息。只有当我在手机中运行时才会中断。我使用了很多解决方案。它不想工作((( 任何人都可以告诉我,如何删除表格中的最后一个元素?
答案 0 :(得分:2)
获取最后插入的元素,其中Select查询仅限于一个元素,并按ID DESC排序。
您还可以循环遍历所有元素并覆盖数据直到结束,但如果您的数据库有大量数据,则效率不高。
最后,您可以使用
SELECT last_insert_rowid()
在插入内容之后,将id保留为类范围变量。
答案 1 :(得分:1)
SqliteDatabase.delete()
方法的第二个参数是WHERE子句。你没有传递给delete()那个子句,没有说出要删除的内容。基本上你得到这个SQL查询:
DELETE FROM DATABASE_TABLE WHERE KEY_ID;
@Alexandre Martin给了你几个变种如何获得最后一个id。