Page 1 sur 1

[MySql] auto_increment maximum ?

Posté : 14 sept. 2005, 20:44
par cbcb
Bonjour,

Avec MySql, existe-t-il un maximum en ce qui concerne le nombre de champs que l'on peut enregistrer dans une table (avec un id auto_incrémenté)?

J'ai retenu ceci de je ne sais plus trop quelle lecture :

Si j'ai un id_truc ( INT(5) auto incrémenté, UNSIGNED ) je peux théoriquement stocker jusqu'à 10.000 enregistrements ?
et si INT(6) jusqu'à 100.000 ?
Etc...
Le maximum absolu étant de 4294967295, avec UNSIGNED ?

Est-ce bien juste ou je suis à côté de la plaque ?

Merci

Posté : 14 sept. 2005, 20:56
par ouckileou
cela dépend en effet du type du champ

mais pour un INT, le 5 ou le 6 c'est la valeur d'affichage, ça ne change rien aux plages de valeurs qui elles sont toujours les mêmes :
INT[(M)] [UNSIGNED] [ZEROFILL]

Un grand entier. L'intervalle de validité pour les entiers signés est de -2147483648 à 2147483647. L'intervalle de validité pour les entiers non-signés est 0 à 4294967295.
=> http://dev.mysql.com/doc/mysql/fr/numer ... rview.html

Posté : 14 sept. 2005, 21:51
par cbcb
Merci ouckileou,

J'ai consulté mysql.com/....., ça m'a permis de remettre certaines choses en place...

Pour être tout à fait rassuré :
Il devrait donc pouvoir théoriquement entrer dans ma table un nombre d'enregistrements égal au maximum de l'intervalle [0;4294967295]?
Et les autre colonnes de la table, par ex. des varchar, ne devraient pas avoir d'incidence sur cette valeur maximale?

Merci encore
J'espère :? après cela pouvoir coller un resolu à ce sujet...

Posté : 14 sept. 2005, 22:05
par ouckileou
Il devrait donc pouvoir théoriquement entrer dans ma table un nombre d'enregistrements égal au maximum de l'intervalle [0;4294967295]?
Oui, auto-increment ne fait que "+1" à chaque fois, et gère aussi les trous je crois (réutilise une clé si tu supprimes une ligne) avec InnoDB
Mais là ça fait déjà un paquet d'enregistrement, à voir si tu risques vraiment d'y arriver un jour :)
le type est à définir en fonction de ce que sera contenu dans ta table
Et les autre colonnes de la table, par ex. des varchar, ne devraient pas avoir d'incidence sur cette valeur maximale?
Non ça c'est sûr, l'auto_increment n'influe que sur la colonne indiquée, le reste n'intervient pas

Posté : 14 sept. 2005, 23:35
par Invité
ouckileou,
merci encore pour les tuyaux.

Cette fois c'est tout bon.

Posté : 14 sept. 2005, 23:37
par cbcb
A ouckileou,

Oups, dans ma hâte j'ai oublié de me connecter,

donc merci encore
cb