Один раз в день я получаю API, чтобы получить 50 последних сообщений с форума. Я храню эту информацию в базе данных, по одной строке за сообщение, храня ее в авторе, заголовке и PostID.Самый эффективный «игнорировать, если существует» в SQLite?
Если в день имеется менее 50 сообщений, тогда будут повторяющиеся данные, одни и те же записи появятся дважды или более. Я хочу избежать этого. Я хочу сказать «если PostID уже существует в базе данных, просто пропустите вставку этой записи».
Я могу легко сделать это, сначала выбирая список всех PostID и сохраняя его как массив в моей программе, а затем удостоверяясь, что PostID не находится в этом массиве перед вставкой; но это кажется немым и неряшливым. Разумеется, в самой базе данных должен быть способ сделать это.
Я читал немного, и INSERT OR REPLACE
работает, но также кажется, что это не «правильное» решение. Это также создало бы проблему, если бы я захотел изменить поле в строке - нажатие на API снова сбросило все поля до начальных значений.
Каков умный способ сделать это?
Есть ли способ API для извлечения статей по ID? –
Можем ли мы передать ID/Дата последней статьи, что у нас есть, и получить статьи, которые новее, чем это. Вместо того, чтобы получать 50 статей? Это также сэкономит вам некоторую пропускную способность. –
'INSERT OR REPLACE работает, но также кажется, что это не« правильное »решение ... это работает? Тогда это ** - это «правильное» решение. –