Как хранить только 10 последних записей в комнате? - PullRequest
0 голосов
/ 31 января 2019

У меня есть какая-то сущность для хранения моих данных в ROOM.Как хранить только 10 последних строк в моей базе данных, используя комнату.Сейчас я использую @Query("SELECT * FROM Entity LIMIT 10"), но он выглядит не так

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Если вы хотите, чтобы в вашей базе данных были только первые 10 или менее записей, вам нужно установить идентификатор с автоматическим приращением и попытаться удалить все записи, в которых идентификаторы не соответствуют первым 10 результатам (после каждой вставки)

DELETE FROM tableName where id NOT IN (SELECT id from tableName ORDER BY id DESC LIMIT 10)

Вот ссылка, чтобы узнать больше: -

Ограничить количество строк в базе данных комнаты

0 голосов
/ 31 января 2019

Это работает?

Это правильный способ сделать это:

SELECT expressions
FROM tables
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]]
LIMIT number_rows [ OFFSET offset_value ];

И вот реальный пример:

SELECT contact_id, last_name, first_name
FROM contacts
WHERE website = 'TechOnTheNet.com'
ORDER BY contact_id ASC
LIMIT 5;

Я получил их отhttps://www.techonthenet.com/sql/select_limit.php.

Возможны небольшие различия в синтаксисе, поскольку я не знаю, какой тип SQL вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...