freddes Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 Voila j'ai une table avec 5 champs: CREATE TABLE videoessai ( code tinyint(4) NOT NULL auto_increment, nom varchar(100) NOT NULL default '', logiciel varchar(25) NOT NULL default '', description text NOT NULL, novideo char(3) NOT NULL default '', PRIMARY KEY (code), KEY code (code,nom) ) TYPE=MyISAM; Quand j'INSERT jusque code=127 ca va Apres il ne veut plus incrémenter ca reste bloqué à 127 je ne comprends pas Je vous remercie de vos réponses. Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 C'est le tiny int ça. Au pif : 127 = 2^7-1 : C'est donc un entier codé sur huit bits (de -2^7 à 2^7-1) ce qui permet de représenter 2^7 (nombres strictement négatifs) + 2^7-1 (nombres strictement positifs) + 1 (0) = 2^8 nombres différents (sur huit bits donc. La solution est de remplacer tinyint par un entier plus grand. t'aurais expliqué ça mieux que moi. Lien vers le commentaire Partager sur d’autres sites More sharing options...
freddes Posté(e) le 3 septembre 2004 Auteur Partager Posté(e) le 3 septembre 2004 Ok je te remercie, je cherchait sur google mais je trouvais pas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 Dans ce cas, tu cherches un tuto, vu que ce n'est pas un bug. Un petit "tinyint + autoincrement + tutorial + mysql" aurait du te donner de bon résultats il me semble. Je n'ai pas testé. Lien vers le commentaire Partager sur d’autres sites More sharing options...
zerovolt Posté(e) le 5 septembre 2004 Partager Posté(e) le 5 septembre 2004 pourquoi tu prends pas un INTEGER tout simplement. tu peux y regler le nombre de chiffres INTEGER(nb_chiffres) tinyint va de 0 a 255 si non signe, -128 a 127 en signe donc normal qu'il plafonne a 127 :) ++ Lien vers le commentaire Partager sur d’autres sites More sharing options...
XZombi Posté(e) le 10 novembre 2004 Partager Posté(e) le 10 novembre 2004 C'est à cause de ton tiny int, tu es limité à 127 en effet. Comme Théocrite l'a souligné, tu doit changer le type. J'arrive un peu en retard, n'est-ce pas, mais c'est surtout pour vous dire qu'un SMALLINT suffit largement, pas besoin de gaspiller des octets non plus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 10 novembre 2004 Partager Posté(e) le 10 novembre 2004 Il y avait lontemps que tu n'avais pas déterré un petit topic. Il fallait s'y attendre Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabricer Posté(e) le 10 novembre 2004 Partager Posté(e) le 10 novembre 2004 un SMALLINT suffit largement, pas besoin de gaspiller des octets non plus. Mouais ça me rappelle une certaine "optimisation" pour éviter de coder les années sur 4 digits à une certaine époque, encore qu'à cette époque reculée celà eut pu être justifié dans une certaine mesure. Ah les économies de bouts de chandelles... Les économies de stockage réalisées en utilisant un SMALLINT à la place d'un INT sont insignifiantes surtout au regard de la taille typique d'une base de donnée mysql. Les optimisations sur les entiers n'apportent en général rien, il y a en d'autres bien plus utiles. Lien vers le commentaire Partager sur d’autres sites More sharing options...
XZombi Posté(e) le 10 novembre 2004 Partager Posté(e) le 10 novembre 2004 Mouais ça me rappelle une certaine "optimisation" pour éviter de coder les dates sur 4 digits à une certaine époque.Ah les économies de bouts de chandelles... Les économies de stockage réalisées en utilisant un SMALLINT à la place d'un INT sont insignifiantes surtout au regard de la taille typique d'une base de donnée mysql. Les optimisations sur les entiers n'apportent en général rien, il y a en d'autres bien plus utiles. Fallait bien que je justifie mon Lien vers le commentaire Partager sur d’autres sites More sharing options...
ingeni Posté(e) le 10 novembre 2004 Partager Posté(e) le 10 novembre 2004 Il s'agit tout simplement d'un problème de conception de table, comme une chaine trop petite... J'ai trouvé un script qui permet de récupérer des id (clés si vous préférez) d'enregistrements effacés pour éviter d'atteindre la limite de leur table. Ce genre de chose est très dangeureuse parce que l'on risque de recréer des associations entre des tables qui sont obsolètes... Autrement dit, faites attention lors de la conception de vos tables... Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabricer Posté(e) le 12 novembre 2004 Partager Posté(e) le 12 novembre 2004 Fallait bien que je justifie mon grumpfff pas bien Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.