J'ai quelques tables dans SQLite et j'essaie de comprendre comment réinitialiser le champ de base de données auto-incrémenté.
J'ai lu que cela DELETE FROM tablename
devrait tout supprimer et réinitialiser le champ d'auto-incrémentation 0
, mais lorsque je le fais, cela supprime simplement les données. Lorsqu'un nouvel enregistrement est inséré, l'auto-incrémentation reprend là où il s'était arrêté avant la suppression.
Mes ident
propriétés de champ sont les suivantes:
- Type de champ :
integer
- Drapeaux sur le terrain :
PRIMARY KEY
,AUTOINCREMENT
,UNIQUE
Est-ce important que j'ai construit la table dans SQLite Maestro et que j'exécute également l' DELETE
instruction dans SQLite Maestro?
Toute aide est la bienvenue.
Vous pouvez réinitialiser par séquence de mise à jour après les lignes supprimées dans votre table
la source
Comme option alternative, si vous disposez du navigateur de base de données Sqlite et que vous êtes plus enclin à une solution GUI, vous pouvez modifier la table sqlite_sequence où field name est le nom de votre table. Double-cliquez sur la cellule du champ seq et modifiez la valeur à 0 dans la boîte de dialogue qui apparaît.
la source
Si vous souhaitez réinitialiser chaque RowId via le fournisseur de contenu, essayez ceci
la source