1

创建新行时,如何告诉我的数据库自动删除 ID 最低的条目?我希望在表中有十多行时完成此操作。

这是我的 createEntry 方法:

public long createEntry(String latitude, String longitude) {
    // TODO Auto-generated method stub
    ContentValues cv = new ContentValues();

    cv.put(KEY_LATITUDE, latitude);     
    cv.put(KEY_LONGITUDE, longitude);



    return myDatabase.insert(DATABASE_TABLE, null, cv);
}
4

1 回答 1

2

如果要删除具有最小 id 的“最旧”行,请使用Rolling rows in SQL table 中的此答案

但是,SQLite 表具有最大数量的行 ID。一旦达到此限制,使用的表integer primary key autoincrement将搜索旧的、未使用的行 ID 以进行新的插入。这可能导致最新的行具有最低的行 ID(并首先被删除)。

了解此限制通常为 9223372036854775807。如果您希望在您的智能手机应用程序中超过这么多的插入:

  1. 你是个疯子。
  2. 您可以在触发器中使用时间戳。
于 2012-07-15T23:02:28.113 回答