[sql] gérer un auto incrémente

Mr.White Messages postés 252 Statut Membre -  
 Raf -
Bonjours,

J'ai un id en auto incrémente et je me demander ce qui se passe lorsqu'il aurrive au bout de ses possibilités. Est-ce qui'il reprend au début ???

Dans ce cas si je supprime régulierement les premier enregistrement qu'il à fait, il n'y devrai pas y avoir de problème, non ???
A voir également:

7 réponses

layork Messages postés 364 Statut Membre 11
 
c'est quoi que tu appel au bout de ses capacité??
je pence pas qu'il y ai devaleur max pour un autoincrement si c'est ca ta question

l'informatique ca rend fou!!!!!
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
Si ça dépasse le max ?
Je n'ai jamais essayé.

Sur SQL Server, avec une colonne en integer, ça monte à un peu plus de 2 milliards.
Il faut déjà réussire à les épuiser... :-)
0
Mr.White Messages postés 252 Statut Membre 53
 
En fait j'ai un auto incrément sur 5 ou 6 chiffre, donc le max est 99999 ou 999999.

Si je ne réinitialise jamais, fatalement, un jour j'arriverai à ce chiffre et je devrai y ajouter 1. Que ce passe-t-il dans ce cas ? Il repar sur 0 ??? Ou est-ce que je doit le prévoir et éviter ce cas de figure ?
0
flokocha Messages postés 1519 Statut Membre 281
 
En général pour éviter cette situation on prend suffisamment de chiffres pour ne pas subir de débordement.

Mais il faut savoir aussi que tu peux régulièrement mettre à jour ta base de données en remplaçant tous les ID non utilisés.

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Iger Messages postés 342 Statut Membre 85
 
Tu ne peux pas faire un autoincrément sur une seule chiffre pour un max de 9, ajouter le 1 et voir ce qui se passe?
0
Mr.White Messages postés 252 Statut Membre 53
 
Je trouve ca étrange car fatalement, un jour on arrivera au bout de l'auto incrément.

Donc si je comprend bien, je doit tout gérer moi-même. Du coup l'auto incrémente n'a plus de grande utilité .
0
Utilisateur anonyme
 
Ben theoriquement, ca explose, la requete d'ajout fonctionnera pas et renverra un joli message d'erreur, c'est tout ce qui risque de se passer.
A noter, que si l'auto increment est indexé, le fait de supprimer des enregistrements ne changera rien au numero de l'auto increment. Sauf si c'est réindexé.

Kalamit,
14 jours avant le soleil, la mer et les mouettes. :)
0
Raf
 
bjr tt le monde,
vous pouvez utiliser sous SQLServer la procédure stockée
DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value)
-- > la prochaine valeur de @@IDENTITY sera new_reseed_value + 1
exemple : DBCC CHECKIDENT ('table_name', RESEED, 0) et ca va commence par 1
et vous pouvez aussi ne le declarer pas comme clé primaire et le gérer par votre programme ca va vous donner plus de code ms ca va facilité vos taches
0