SQLAlchemy를 사용하고 있습니다 (현재 SQLite에서 테스트 중이지만 다른 곳에서도 사용해야합니다). 그리고 기본 키 ID가 재사용되는 데 문제가 있습니다.SQLAlchemy가 숫자 ID를 다시 사용하지 않는지 확인하십시오.
예를 들어 ID가 1-6 인 콘텐츠를 삭제 한 다음 ID가 4 인 콘텐츠를 삭제하면 다음 콘텐츠의 ID가 7이 아닌 4로 추가됩니다 (현재로서는 일어난다). ID는 세션 재설정 후에 재사용 할 수 있습니다 (실제로는 상관 없지만).
이것은 DB의 유형 (그리고 자동 증가 정책/구현의)에 따라 다르 겠지만 적어도 SQLite, mySQL 및 PostgreSQL (다른 것들은 작동하도록하는 방법이 필요합니다. 중요하지 않지만 어느 쪽도 아프지 않을 것입니다.)
도움이 필요하거나 올바른 방향을 가리키면 감사하겠습니다!
올바르게 지적했듯이 이것은 SA 자체에 의존하지 않고 RMDBS에만 해당됩니다. 그러나 필자가 아는 한 자동 증가 관련 전략의 기본 동작은 기본적으로 * 재사용 * 해제 * 식별자를 사용하지 않습니다. 왜 귀하의 질문은 그렇지 않겠습니까? 어떤예요? – van
ID가 4 인 행을 삭제할 때도 SQLite는 ID 7을 여전히 사용하지 않습니다 ** ** 여전히 ID가 4 인 행을 삭제할 때도 * 가장 높은 ID * 행 (예 : ID 6)을 삭제하면 예, 그 값을 재사용 할 것입니다. –