django DB primary_key 삭제 질문드립니다.

조회수 908회

안녕하세요,

현재 django와 mysql을 연동하여 사용중인데

db가 쌓이면 objects.all().delete() 를 통하여 전체 데이터를 삭제하고 다시 저장하고를 반복하고 있습니다.

질문드릴 부분은 objects.all().delete()을 하게 되면 전체 데이터는 삭제가 되는데

id(pk)숫자가 계속 쌓이게 되는데 혹시 이 값도 지울수가 있나요?

10개의 데이터를 objects.all().delete()로 삭제한 후에 다시 데이터를 입력시키면

id(pk)가 11번부터 다시 데이터가 입력되는데 다시 id값을 1번부터 시작하게 할 수 있는지 질문드립니다.

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    해당 테이블이 정말 임시성이어서 그렇게막 날려도 된다면 TRUNCATE라는 걸 하시면 됩니다. https://stackoverflow.com/a/2989122

    하지만 id11번부터 올라가는 것이 단지 미관상 싫으신 거라면(제가 예전에 그랬는데)... 그냥 취향을 바꾸셔서 all().delete()를 고수하시기를 권장합니다. auto incremental 대체키는 있을 때 잘 써야 하는 인덱스이기 때문이지요. 나중에 자료 정합성에 문제가 생기면 그때는 이미 늦었을 수 있습니다.

    • 감사합니다! 미관상 싫어서 그런건데 그냥 써야겠네요 ㅎㅎ ilalf 2020.2.7 13:07

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)