데이터베이스의 _id 열은 INTEGER PRIMARY KEY이므로 자동 증가 열입니다. 문제는 이제 행을 삭제하고 열이 자동 증가 숫자를 업데이트하지 않는다는 것입니다.SQLite 데이터베이스 브라우저에서 _id 열을 "업데이트하는 방법"
_id 열을 업데이트하는 방법이 있습니까? 그래서 시퀀스에 구멍이 생기지 않습니까?
대단히 감사합니다.
데이터베이스의 _id 열은 INTEGER PRIMARY KEY이므로 자동 증가 열입니다. 문제는 이제 행을 삭제하고 열이 자동 증가 숫자를 업데이트하지 않는다는 것입니다.SQLite 데이터베이스 브라우저에서 _id 열을 "업데이트하는 방법"
_id 열을 업데이트하는 방법이 있습니까? 그래서 시퀀스에 구멍이 생기지 않습니까?
대단히 감사합니다.
아니요. 사용 방법이 아닙니다. 기본 키를 사용하지 마십시오! 격차가있을 것입니다. id
은 고유 식별자입니다.
당신이 다음 순위를해야 할 경우
select t.*, @rank := @rank + 1 as gapless_rank
from your_table t
cross join (select @rank := 0) r
order by id
이것은 SQLite에서 작동하지 않습니다. –
이 테이블에서 n
일 ID를 얻을이 같은 쿼리를 사용하려면 그렇게 할 수 있습니다
SELECT _id
FROM MyTable
ORDER BY _id
LIMIT 1
OFFSET n-1
왜? ID 번호가 작동하는 방식이 아닙니다. 채워진 구멍으로 해결하려는 문제는 무엇입니까? – laalto
무작위 _id 번호를 검색하는 응용 프로그램에서 해당 데이터베이스를 사용하고 있는데 _id 번호를 찾지 못하면 응용 프로그램이 작동하지 않기 때문에 진행 과정에 구멍이 필요하지 않습니다. – Frank