Можно ли в SQLite ограничить размер таблицы на количество записей и как это организовать? Например таблица набирает суммарно 100 строк, после чего самые старые записи удаляются и записываются новые.
Ответ
Можно написать триггер на вставку новых записей в таблицу.
Предположим, у вас имеется таблица _table с полями
_id(ключ какой-то)
_time(время создания записи)
Тогда триггер будет выглядеть следующим образом
CREATE TRIGGER delete_till_50 INSERT ON _table WHEN (select count(*) from _table)>100
BEGIN
DELETE FROM _table WHERE _table._id IN (SELECT _table._id FROM _table ORDER BY _table._time limit (select count(*) - 100 from _table ));
END;
При вставке новой записи самые старые записи будут удаляться. В базе всегда будет не более 100 записей.
Комментариев нет:
Отправить комментарий