Maison >base de données >tutoriel mysql >Comment réinitialiser une clé primaire auto-incrémentée dans SQLite ?

Comment réinitialiser une clé primaire auto-incrémentée dans SQLite ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-15 14:27:44796parcourir

How to Reset an Auto-Incremented Primary Key in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn