Как ограничить подсчет строки таблицы и заменить, если она найдена?

120
13

Я новичок в запросах базы данных, и сразу, и я нахожу себя со сложной ситуацией.

Моя таблица DB содержит 3 столбца:

_id | stringValue | timeStamp

У меня есть 3 ограничения;

Максимальное количество строк равно 100. Если таблица заполнена, самый старый элемент будет удален. Если добавляемый новый элемент соответствует stringValue, будет обновляться только метка времени.

В настоящее время я делаю 3 запроса:

Проверьте, существует ли элемент, если он просто обновляет его. Если это не просто добавить его. Если элемент не существует, проверьте, сколько элементов находится на столе. Если более 100 предметов удаляют самые старые

Я думаю, что может быть один запрос, который я могу сделать для достижения всего этого... Любые советы или идеи будут оценены!

спросил(а) 2020-04-04T01:33:22+03:00 5 месяцев, 4 недели назад
1
Решение
91

Для вопроса о вставке, если элемент не существует или не обновляется, если он этого не делает, используйте "ВСТАВИТЬ ИЛИ ЗАМЕНИТЬ В" для вашего оператора sql.

Для ограничения максимального количества строк это то, что вам придется обрабатывать отдельно, и есть несколько способов сделать это.

Здесь более старое сообщение для проверки: Ограничьте максимальное количество строк таблицы sqlite

ответил(а) 2020-04-04T01:48:36.568907+03:00 5 месяцев, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема