Создание таблицы SQLITE с фиксированным количеством элементов - PullRequest
1 голос
/ 01 февраля 2012

Я создаю базу данных, в которой я буду хранить некоторую статистику о батарее.Каждый раз, когда батарея падает на 1 процент, я хочу добавить в базу данных sqlite строку с некоторой информацией.

Это работает довольно хорошо, но со временем эта таблица становится действительно огромной.

Я хотел бы установить максимальное количество записей (например, 100).

Можно ли установить количество записей в моей таблице, или мне нужно будет проверять эту таблицу каждый раз иочистить его по коду?

Вот мой код:

create table batterystat (_id integer primary key autoincrement, value integer not null, ....)

И мой запрос

public Cursor fetchAllStats{
   return db.query(databaseName,myColumns,null,null,null,null,null);
}

Большое спасибо за любую помощь.

ПРИМЕЧАНИЕ: «вам придется сделать это самостоятельно и удалить дополнительные строки по коду» может быть правильным ответом, если это так: -p

1 Ответ

2 голосов
/ 01 февраля 2012

Я бы использовал триггер и запрос на удаление, например:

CREATE TRIGGER batterystat_trigger AFTER INSERT ON batterystat 
BEGIN 
    DELETE FROM batterystat where _id NOT IN (SELECT _id from batterystat ORDER BY insertion_date DESC LIMIT 100)
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...