일부 데이터의 최신 N 항목을 저장하려는 sqlite 데이터베이스 (안드로이드 기반)가 있습니다.테이블에 최신 n 개의 항목 유지
테이블의 기본 키는 날짜 필드입니다. 기본적으로 임계 값에 도달 한 후 일부 행을 삽입 할 때마다 테이블에서 가장 오래된 항목을 삭제하려고합니다.
이렇게하는 데 특히 영리하고 좋은 방법이 있습니까? 각 삽입 후에 항상 불변 (nr 행 < = THRESHOLD)을 확인하므로 가장 오래된 항목을 삭제하는 것과는 아무런 관련이 없습니다.
는 내가 뭘 계획하고있어 기본적으로 :
- 삽입 데이터
- 경우 테이블의 수 (*) < = 한계 : 고토 4
- 날짜 ==가 (SELECT WHERE 테이블에서 삭제 날짜 별 테이블 순서의 날짜 ASC LIMIT 1);
- 내가 ORMlite을 사용하고
참고 일을하지만 난 그냥 원시 SQL을 사용하여 관련 사용자 데이터가 없다, 그래서 문제가 안 때문이다.
단일 값 부속 조회 규칙을 위반하지 않습니까? 3.DELETE FROM 테이블 WHERE date == (ASC 날짜 별 테이블 순서에서 날짜 선택); –
@Chris 적어도 거기에 1이 있어야합니다. 그러나 그것은 의사 코드로 간주되어야합니다. 저는 여전히 최선을 구현하는 방법에 대해 생각하고 있습니다. 단지 일부 코드가 이해하기 쉽게 만들 것이라고 생각했습니다. – Voo