La réutilisation de l'identité de la valeur après la suppression de lignes
Est-il possible de réutiliser une identité, d'une valeur de champ après la suppression de lignes dans SQL Server 2008 Express? Ici est un exemple. Supposons que j'ai une table avec un champ Id comme clé primaire (de l'identité). Si j'ajoute cinq lignes, je vais avoir ces 5 Id: 1, 2, 3, 4, 5. Si je devais supprimer ces lignes, puis ajouter cinq de plus, les nouvelles lignes aurait Id: 6, 7, 8, 9, 10. Est-il possible de le laisser recommencer à nouveau en 1?
Dois-je supprimer les données d'une autre table afin d'accomplir cette? Merci pour votre aide.
Entendez-vous l'identité de champ? La clé primaire pour presque toutes mes tables est ID et qui est généralement (mais pas exclusivement) un champ d'identité
Oui, je voulais dire un champ d'identité.
Juste parce qu'il y est une manière de le faire ne signifie pas que vous devriez.
Oui, je voulais dire un champ d'identité.
Juste parce qu'il y est une manière de le faire ne signifie pas que vous devriez.
OriginalL'auteur Jeremy | 2010-11-26
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser la syntaxe suivante pour définir la valeur d'IDENTITÉ:
Cela signifie que vous aurez à exécuter l'instruction basée sur tous les SUPPRIMER. Cela devrait commencer à mettre en évidence pourquoi c'est une mauvaise idée...
La base de données ne se soucie pas des valeurs séquentielles - c'est pour fins de présentation seulement.
Vous pouvez aussi l'utiliser dans le but de trouver votre graine de valeur: sélectionnez ident_current ("table_name") comme current_identity
OriginalL'auteur OMG Ponies
Si vous souhaitez réinitialiser l'identité, après la suppression de tous rangs puis effectuez l'une de ces
Sinon, la valeur interne ne devrait pas question de savoir si des lacunes ou pas.
OriginalL'auteur gbn
identity
champs ne pas réutiliser les anciennes valeurs par défaut. Vous pouvez réensemencer avecdbcc checkident
, mais ce n'est pas suggéré que vous obtiendrez des violations de clé si vous réamorçage en dessous d'une valeur qui existe encore dans le tableau. En général, vous ne devriez pas vous soucier de ce que les valeurs de clé primaire. Le fait qu'ils ne sont pas contigus ne fait pas de mal quoi que ce soit.À l'aide d'un bigint la colonne d'identité vous permet de vous 2^63 - 1 lignes. C'est 9 quintillion lignes. Même à un billion de dollars insère par jour, cela va encore durer 25 000 ans.
OriginalL'auteur Donnie