Remettre compteur auto a zero

cs_chris81 Messages postés 589 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 avril 2008 - 13 nov. 2004 à 13:17
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 26 nov. 2004 à 15:57
bonjour,
j'ai cree un table avec un compteur automatique, j'ai fait 3 test dessus
maintenant je souhaite remettre le compteur a zero car il part de 4 comment
puis je faire.
Y'a t'il un moyen pour eviter qu'il est un trou dans le compteur. par exmple
j'ai 5 ligne 1,2,3,4,5 je supprime la ligne 3 => 1,2,4,5 comment puis je
faire pour lui dire qu'il redescende tout de 1 pour avoir 1,2,3,4

merci

http://www.tarnweb.com
http://www.correzeweb.com
http://www.localetv.com

4 réponses

cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
15 nov. 2004 à 01:31
Avec le compteur auto, je ne pense pas que cela soit possible.
Il faut gérer ton propre compteur si tu souhaites faire des redescente auto (par des triggers par exemple 'ON DELETE....').

ATTENTION: Si ton champs autoincrementé est l'ID de tes éléments, prends bien conscience si ce n'est pas cet ID que tu utilises ailleurs.

Par exemple si tu as une table de Produit avec :
ID, NOM, PRIX
1, TOTO, 10
2, TATA, 20
3, TUTU, 30
4, TITI, 10

Et que pour une raison x ou y TATA doivent être supprimé dans ton cas de rétrogradage auto à la suppression il faut modifier tous les ACHAT déclarés pour TUTU et TATA, afin que ceux qui ont commandé du TUTU ne se retrouvent pas avec des commande de TITI.

C'est d'ailleurs la raison pour laquelle ce n'est pas géré (un ID est un identifiant unique).

Romelard Fabrice (Alias F___)
0
cs_NicoDisso Messages postés 5 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 6 février 2009
23 nov. 2004 à 09:59
DECLARE @Compteur INT

USE HisAirness

SET @Compteur=(SELECT MAX(Pk_Colonne) FROM [dbo].[Table_A_Remettre_A_Zero])

DBCC CHECKIDENT([Table_A_Remettre_A_Zero],RESEED,@Compteur)

Le compteur automatique débutera dans tous les cas à la valeur de la varible @Compteur. ( pour partir de zéro : SET @Compteur = 0 )
0
cs_chris81 Messages postés 589 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 avril 2008 2
23 nov. 2004 à 18:36
sinon j'ai trouve plus simple TRUNCATE TABLE MaTable

http://www.tarnweb.com
http://www.correzeweb.com
http://www.localetv.com
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
26 nov. 2004 à 15:57
Salut,

Si tu es en SQL Serveur (c est avec ca que je trouve, mais je ne sais pas si ca marche pour les autres) essaie

DBCC CHECKIDENT('nom_table', RESEED, NouvelleValeur)

Ca remet ton compteur a zero si tu en a besoin (pour le reste je ne sais pas)

@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0
Rejoignez-nous