> 데이터 베이스 > MySQL 튜토리얼 > SQLite에서 자동 증가 기본 키를 재설정하는 방법은 무엇입니까?

SQLite에서 자동 증가 기본 키를 재설정하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2025-01-15 14:21:48
원래의
912명이 탐색했습니다.

How to Reset Auto-Incrementing Primary Keys in SQLite?

SQLite 자동 증가 기본 키 재설정 방법

자동 증가 기본 키 값을 재설정하는 것은 SQLite 데이터베이스 작업 시 흔히 발생하는 문제입니다. 이 기사에서는 이에 대해 살펴보고 효과적인 솔루션을 제공할 것입니다.

시나리오 및 질문

사용자가 SQLite 데이터베이스의 여러 테이블에 대한 자동 증가 필드를 재설정하려고 했습니다. 그러나 DELETE FROM 명령을 사용하여 모든 데이터를 삭제해도 필드가 0으로 재설정되지는 않습니다. 반면, 자동 증가는 데이터가 삭제된 후에도 마지막 값부터 계속해서 증가합니다.

자세한 설명

이 문제는 SQLite가 SQLITE_SEQUENCE이라는 별도의 테이블을 사용하여 각 테이블의 가장 높은 ROWID 값을 추적하기 때문에 발생합니다. 새 레코드가 삽입되면 AUTOINCREMENT 알고리즘은 SQLITE_SEQUENCE 테이블을 확인하여 사용 가능한 다음 기본 키 값을 결정합니다.

기본 테이블에서 데이터를 삭제하면 관련 행만 삭제됩니다. SQLITE_SEQUENCE 테이블은 변경되지 않은 상태로 유지되므로 자동 증가 카운터는 마지막 값부터 계속해서 증가합니다.

솔루션

기본 키 필드를 원하는 값으로 재설정하려면 다음 두 문을 실행하세요.

<code class="language-sql">DELETE FROM your_table;
DELETE FROM sqlite_sequence WHERE name='your_table';</code>
로그인 후 복사

첫 번째 문은 기본 테이블의 모든 데이터를 삭제합니다. 두 번째 문은 SQLITE_SEQUENCE 테이블에서 해당 테이블의 항목을 삭제하여 가장 높은 ROWID 값을 0으로 재설정합니다.

기타 참고사항

  • SQLITE_SEQUENCE 테이블 수정은 주의해서 수행해야 합니다.
  • 변경하기 전에 데이터베이스를 백업하세요.
  • 솔루션은 수동으로 생성된 테이블과 SQLite Maestro와 같은 도구를 사용하여 생성된 테이블 모두에 대한 작업을 제공했습니다.

위 내용은 SQLite에서 자동 증가 기본 키를 재설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿