Plusieurs milliers d'enregistrements sur la bdd - PHP - Programmation
Marsh Posté le 11-04-2008 à 10:36:53
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: |
http://dev.mysql.com/doc/refman/5. [...] table.html
Marsh Posté le 11-04-2008 à 11:23:28
Tinyint ça va de 0 à 255 en non signé, pas 32767... Ca, c'est smallint en non signé
Marsh Posté le 11-04-2008 à 12:27:19
Flo850 > merci pour ta réponse c'est ce que je voulais
soulmanto > heu... oups effectivement
Marsh Posté le 11-04-2008 à 12:34:55
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 ... ).
Marsh Posté le 11-04-2008 à 15:24:16
Omega2 > merci, encore un mystère (pour moi) qui vient d'être résolu
Marsh Posté le 11-04-2008 à 10:24:42
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