Maison >base de données >tutoriel mysql >Comment réinitialiser une clé primaire auto-incrémentée dans SQLite ?
Réinitialisation de la clé primaire à incrémentation automatique dans SQLite
La simple suppression de données d'une table SQLite à l'aide de DELETE FROM
ne réinitialise pas la clé primaire à incrémentation automatique à 1. Pour y parvenir, vous avez besoin d'un processus en deux étapes :
<code class="language-sql">DELETE FROM your_table; DELETE FROM sqlite_sequence WHERE name = 'your_table';</code>
La première instruction supprime toutes les lignes de votre table. La deuxième et cruciale instruction supprime l’entrée de la table sqlite_sequence
. Cette table système suit le ROWID le plus élevé pour chaque table avec une colonne à incrémentation automatique.
Comprendre le mécanisme d'auto-incrémentation de SQLite
SQLite utilise sqlite_sequence
pour gérer les clés primaires à incrémentation automatique. Lorsqu'une nouvelle ligne est ajoutée à une table avec une colonne AUTOINCREMENT
, SQLite consulte sqlite_sequence
pour trouver le plus grand ROWID existant et l'incrémente.
Par conséquent, la manipulation directe sqlite_sequence
affecte la séquence d'auto-incrémentation. Procédez avec prudence et comprenez pleinement l’impact potentiel avant d’apporter des modifications.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!