[MySql] auto_increment maximum ?

Eléphanteau du PHP | 40 Messages

14 sept. 2005, 20:44

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
Modifié en dernier par cbcb le 14 sept. 2005, 23:37, modifié 2 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

14 sept. 2005, 20:56

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

Eléphanteau du PHP | 40 Messages

14 sept. 2005, 21:51

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...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

14 sept. 2005, 22:05

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

Invité
Invité n'ayant pas de compte PHPfrance

14 sept. 2005, 23:35

ouckileou,
merci encore pour les tuyaux.

Cette fois c'est tout bon.

Eléphanteau du PHP | 40 Messages

14 sept. 2005, 23:37

A ouckileou,

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

donc merci encore
cb