Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1089 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Plusieurs milliers d'enregistrements sur la bdd

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Plusieurs milliers d'enregistrements sur la bdd

n°1716078
tostiere
Posté le 11-04-2008 à 10:24:42  profilanswer
 

Bonjour,
sur un programme php sur lequel je suis entrain de bosser, je viens de me rendre compte que tôt ou tard il y a aura plusieurs milliers d'enregistrements.
Il y a un truc qui m'inquiète, c'est que les "id" de chaque table de la base de données (mysql) sont declarés en "int".
 
Est-ce qu'il y aura un problème plus tard, sachant que les id s'auto-incrément et et que les "int" ont une portée limitée ?
 
edit : ha ben non j'ai rien dit, selon cette page http://dev.mysql.com/doc/refman/5. [...] types.html ça va jusqu'à 2147483647.
 
Cela dit je me demande quand même, si on déclare en "tinyint" par exemple et qu'on arrive au bout des 32767 enregistrements, il se passe quoi par la suite ?
 
Aussi une autre question : est-il possible de réinitialiser le compteur des id ? Par exemple, j'ajoute un nouvel enregistrement et il commence à 259. y a t-il moyen de le faire recommencer à 0 ? (en ayant au préalable supprimé les enregistrements de la table).


Message édité par tostiere le 11-04-2008 à 10:28:16
mood
Publicité
Posté le 11-04-2008 à 10:24:42  profilanswer
 

n°1716087
flo850
moi je
Posté le 11-04-2008 à 10:36:53  profilanswer
 

1- faut etre vraiment radin pour declarer un champ auto increment en tiny int
 
2-

Citation :

To change the value of the AUTO_INCREMENT  counter to be used for new rows, do this:
 
ALTER TABLE t2 AUTO_INCREMENT = value;
 
You cannot reset the counter to a value less than or equal to any that have already been used. For MyISAM, if the value is less than or equal to the maximum value currently in the AUTO_INCREMENT column, the value is reset to the current maximum plus one. For InnoDB, you can use ALTER TABLE ... AUTO_INCREMENT = value as of MySQL 5.0.3, but if the value is less than the current maximum value in the column, no error occurs and the current sequence value is not changed.


http://dev.mysql.com/doc/refman/5. [...] table.html


---------------

n°1716141
soulmanto
Chat Noir replica
Posté le 11-04-2008 à 11:23:28  profilanswer
 

Tinyint ça va de 0 à 255 en non signé, pas 32767... Ca, c'est smallint en non signé

n°1716186
tostiere
Posté le 11-04-2008 à 12:27:19  profilanswer
 

Flo850 > merci pour ta réponse c'est ce que je voulais :)
soulmanto > heu... oups effectivement :D

n°1716191
omega2
Posté le 11-04-2008 à 12:34:55  profilanswer
 

tostiere > Quand arrive au nombre maximum de ta colonne, alors toutes les insertions suivantes planteront avec un message comme quoi l'id unique existe déjà.
 
Explication : 255 + 1 = 256 , mais comme le stockage est sur 8 bit alors 256 devient 0 qui est déjà pris par la première ligne. A noter que si le 0 n'est pas déjà pris alors le problème arrivera à 256 + 1 = 257 qui devient 1 pour la même raison ou 257 + 1 qui devient 2 ou ... ).

n°1716380
tostiere
Posté le 11-04-2008 à 15:24:16  profilanswer
 

Omega2 > merci, encore un mystère (pour moi) qui vient d'être résolu ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Plusieurs milliers d'enregistrements sur la bdd

 

Sujets relatifs
Une grosse BDD ou plusieurs ?Plusieurs thèmes sur un site
plusieurs couleurs d'écriture dans un meme comboboxAppuyer simultanément sur plusieurs touches
[Excel]spliter une colonne en plusieurs ?Transférer une variable entre plusieurs scripts python
Macro excel passer plusieurs variableplusieurs sessions sur un nom de domaine
[resolu] 1 clic, 2 ou plusieurs cibles ouvertesSQl pourquoi plusieurs type de jointure
Plus de sujets relatifs à : Plusieurs milliers d'enregistrements sur la bdd


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR