2010-06-26 4 views

Répondre

20

Dans SQLite, il existe une table nommée SQLITE_SEQUENCE, qui suit la plus grande valeur RowId d'une table. Vous pouvez insérer, mettre à jour et supprimer sur cette table. Par exemple, pour imiter la fonctionnalité similaire à l'instruction TRUNCATE TABLE SQL Server, vous pouvez quelque chose comme:

DELETE FROM MyTableName; 
DELETE FROM SQLITE_SEQUENCE WHERE NAME = 'MyTableName'; 

Dans l'exemple ci-dessus toutes les données de MyTableName est supprimé, et le numéro de ligne d'incrémentation automatique est remis à zéro par la suppression de la valeur de la SQLITE_SEQUENCE table. Voir la documentation pour AUTOINCREMENT pour plus d'informations.

+0

Merci, cela a fonctionné parfaitement. Juste a dû ajouter un point-virgule à la fin de chaque ligne. – Mun

+0

Je reçois une erreur disant "no such table SQLITE_SEQUENCE' ... – dialex

3
DELETE 
FROM MyTableName 

select * 
from SQLITE_SEQUENCE 

update SQLITE_SEQUENCE 
set seq = 0 
where name ='MyTableName' 
Questions connexes