SQLite 데이터베이스에서 자동 증가 열을 다시 시드 할 수 있습니까? 그렇다면이 작업은 어떻게 수행됩니까?SQLite 데이터베이스에서 자동 증가 열을 다시 시드하는 방법은 무엇입니까?
즉. SQL Server의 DBCC CHECKIDENT ('MyTable', RESEED, 1)
에 해당합니다.
SQLite 데이터베이스에서 자동 증가 열을 다시 시드 할 수 있습니까? 그렇다면이 작업은 어떻게 수행됩니까?SQLite 데이터베이스에서 자동 증가 열을 다시 시드하는 방법은 무엇입니까?
즉. SQL Server의 DBCC CHECKIDENT ('MyTable', RESEED, 1)
에 해당합니다.
SQLite에는 테이블에있는 가장 큰 RowId
값을 추적하는 SQLITE_SEQUENCE라는 테이블이 있습니다. 이 테이블에서 삽입, 업데이트 및 삭제를 수행 할 수 있습니다. 예를 들어, 당신이 뭔가 같이 할 수있는 TRUNCATE 표 문 SQL Server와 같은 유사한 기능을 모방하기 : 위의 예에서
DELETE FROM MyTableName;
DELETE FROM SQLITE_SEQUENCE WHERE NAME = 'MyTableName';
MyTableName의 모든 데이터가 제거되고, 자동 증가 ROWID는에서 값을 제거하여 재설정 SQLITE_SEQUENCE 테이블 자세한 내용은 AUTOINCREMENT에 대한 설명서를 참조하십시오.
DELETE
FROM MyTableName
select *
from SQLITE_SEQUENCE
update SQLITE_SEQUENCE
set seq = 0
where name ='MyTableName'
감사합니다. 완벽하게 작동했습니다. 각 줄의 끝 부분에 세미콜론을 추가해야했습니다. – Mun
'no such table SQLITE_SEQUENCE' ...라는 오류 메시지가 나타납니다. – dialex