Réinitialisation de la graine d'identité SQL Server après la suppression d'une ligne
Les tables SQL Server avec clés primaires à incrémentation automatique utilisent une valeur de départ d'identité (la valeur initiale de la colonne d'identité) qui augmente à chaque nouvel enregistrement. Cela garantit l'unicité et l'ordre croissant dans la colonne d'identité.
La suppression d'enregistrements, cependant, peut perturber cette séquence, entraînant potentiellement un mauvais alignement de la colonne d'index générée automatiquement. Ceci est particulièrement problématique si la colonne d'identité sert de clé étrangère ailleurs.
La restauration de la graine d'identité après les suppressions est réalisée à l'aide de la commande DBCC CHECKIDENT
.
Cette commande réinitialise le compteur d'identité pour une table spécifiée. La syntaxe de la commande est :
<code class="language-sql">DBCC CHECKIDENT (table_name [, { NORESEED | { RESEED [, new_reseed_value ]}}]) [ WITH NO_INFOMSGS ]</code>
Par exemple, réinitialiser la colonne d'identité de la table TestTable
à 0 :
<code class="language-sql">DBCC CHECKIDENT ('[TestTable]', RESEED, 0); GO</code>
Remarque importante : Bien qu'elle n'était auparavant pas prise en charge dans les anciennes versions d'Azure SQL Database, DBCC CHECKIDENT
est désormais entièrement fonctionnelle.
Les problèmes persistants liés à la réinitialisation des valeurs d'identité peuvent nécessiter de contacter le support Microsoft.
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!