2012-12-19 3 views
0

SQLite3의 자동 증가가 항상 가장 높은 기본 기본 키보다 하나 더 큰 것을 발견했습니다.SQLite3에서 같은 값으로 자동 증가하는 것을 두 번 어떻게 방지합니까?

예를 들어 레코드를 만들고 id를 1로 설정하면 다음 레코드의 id가 2로 설정됩니다. id = 2 인 레코드를 삭제하고 새 레코드를 만들면 새 ID가 2 대신 3의

어쨌든 sqlite3의 자동 증가가 결코 두 번 같은 값을 할당하지?

+0

DB에서 행을 열심히 삭제하는 이유는 무엇입니까? 당신은 단지 그것을 부드럽게 삭제해야하며 결코이 문제가 발생하지 않아야합니다. 그리고 무언가를 되 찾을 필요가있을 때를 대비하여 데이터를 잃어 버리지 마십시오. –

답변

3

http://www.sqlite.org/autoinc.html의 문서에는 사용자가보고있는 동작이 예상되는 것으로 분명히 명시되어 있습니다. 문서에서는 다음과 같이 열을 지정하여이 문제를 피할 수 있다고 명시합니다.

INTEGER PRIMARY KEY AUTOINCREMENT 
관련 문제