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

  FORUM HardWare.fr
  Programmation
  PHP

  Incrementation dans mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Incrementation dans mysql

n°1422151
Gandalf la​ croute
Do it Yourself or Pay !
Posté le 08-08-2006 à 11:37:15  profilanswer
 

Slt à tous
j'ai un site de photos en php/mysql qui tourne depuis fort longtemps correctement. J'ai un petit souci sur mes valeurs du genre photo-id qui sont des index avec autoincrément. Donc chaque fois que j'ajoute une photo l'ID est incrémenté de 1. Sauf que récemment ça merde je supprime par exemple la photo 17 et que j'en upload une nouvelle elle ne prend pas le numéro libre (17) mais le dernier numéro genre 55 ce qui fait que mes index sont complétement incohérents ; et donc le 17 n'est pas attribué. Au bout d'un moment c'est folklo si l'on supprime 15 photos 15 numéros d'index disparaissent !
 
Comment peut -on réinitialiser la chose ?  :(  google est mon mais amais ! mais je ne trouve pas ! :pfff:
 
j'ai ça mais ca marche pas mieux !http://dev.mysql.com/doc/refman/5. [...] ement.htmlux

Message cité 2 fois
Message édité par Gandalf la croute le 08-08-2006 à 11:42:47
mood
Publicité
Posté le 08-08-2006 à 11:37:15  profilanswer
 

n°1422154
Woutcha
Posté le 08-08-2006 à 11:42:51  profilanswer
 

Gandalf la croute a écrit :

Slt à tous
j'ai un site de photos en php/mysql qui tourne depuis fort longtemps correctement. J'ai un petit souci sur mes valeurs du genre photo-id qui sont des index avec autoincrément. Donc chaque fois que j'ajoute une photo l'ID est incrémenté de 1. Sauf que récemment ça merde je supprime par exemple la photo 17 et que j'en upload une nouvelle elle ne prend pas le numéro libre (17) mais le dernier numéro genre 55 ce qui fait que mes index sont complétement incohérents ; et donc le 17 n'est pas attribué. Au bout d'un moment c'est folklo si l'on supprime 15 photos 15 numéros d'index disparaissent !
 
Comment peut -on réinitialiser la chose ?  :(  google est mon mais amais ! mais je ne trouve pas ! :pfff:


 
C'est le comportement normale des index auto-incrementees, donc rien d'anormal a ce qui t'arrive :-)
Ce n'est donc pas MySQL mais plus ton code php qui est a blamer ...

n°1422156
Gandalf la​ croute
Do it Yourself or Pay !
Posté le 08-08-2006 à 11:43:23  profilanswer
 

Woutcha a écrit :

C'est le comportement normale des index auto-incrementees, donc rien d'anormal a ce qui t'arrive :-)
Ce n'est donc pas MySQL mais plus ton code php qui est a blamer ...


Est ce à dire ?
recupérer la valeur du dernier item LAST_INSERT_ID() de la table avant dans un incrementer un autre ?


Message édité par Gandalf la croute le 08-08-2006 à 11:49:44
n°1422172
micfont999
Simplement Moi
Posté le 08-08-2006 à 11:57:19  profilanswer
 

Non ce qu'on veux dire c'est que ce n'est pas normal que tout foire dés que l'on supprime un id. Il dois y avoir une couille dans le potage dans ton php (désolé) pour que ça fasse foiré tout..

n°1422343
DarkHope
Posté le 08-08-2006 à 16:46:35  profilanswer
 

Moi je vois aucun soucis que ce soit dans le code PHP ou dans MySQL.
Tu es en auto-increment, il est donc normal que lorsque tu supprimes un id, il ne le remplace pas mais incrémente le dernier ID inséré.
Si tu veux pouvoir remplacer un ID supprimé, il faudra virer l'auto increment de ton champ dans ta base et peut-être faire un petit traitement qui te permettra de recueillir le premier id absent, pour pouvoir le rajouter.

n°1422359
micfont999
Simplement Moi
Posté le 08-08-2006 à 16:58:37  profilanswer
 

DarkHope a écrit :

Moi je vois aucun soucis que ce soit dans le code PHP ou dans MySQL.
Tu es en auto-increment, il est donc normal que lorsque tu supprimes un id, il ne le remplace pas mais incrémente le dernier ID inséré.
Si tu veux pouvoir remplacer un ID supprimé, il faudra virer l'auto increment de ton champ dans ta base et peut-être faire un petit traitement qui te permettra de recueillir le premier id absent, pour pouvoir le rajouter.


 
Ta forcement un soucis au niveau php.. Quand tu fais un code qui liste ou récupère les enregistrements d'une table que tu est tous les id à la suite ou qu'il en manque 50 au milieu ça fonctionne d'ordinaire, ça si ça lui fait tout beuguer c'est qu'il y à un soucis quelque part non?

n°1422377
DarkHope
Posté le 08-08-2006 à 17:10:14  profilanswer
 

Il a pas dit que ça faisait bugguer, juste que s'il supprime 10 photos, il va passer du numéro 5, 6 ,7  au 18, 19 ,20 et il voudrait que les nouvelles prennent la place de ces 10 absentes.


Message édité par DarkHope le 08-08-2006 à 17:12:13
n°1422379
anapajari
s/travail/glanding on hfr/gs;
Posté le 08-08-2006 à 17:12:04  profilanswer
 

la vrai question est pourquoi as-tu besoin d'avoir des identifiants "qui se suivent"?

n°1422380
micfont999
Simplement Moi
Posté le 08-08-2006 à 17:12:07  profilanswer
 

Gandalf la croute a écrit :

Slt à tous
ce qui fait que mes index sont complétement incohérents ; et donc le 17 n'est pas attribué. Au bout d'un moment c'est folklo si l'on supprime 15 photos 15 numéros d'index disparaissent !
 


 
Pour moi ça lui fait tout beuguer  :D  
Sinon bah si c'est juste pour combler les trous effectivement ta solution est bonne  
 

n°1422382
DarkHope
Posté le 08-08-2006 à 17:15:24  profilanswer
 

Citation :

ce qui fait que mes index sont complétement incohérents


Ca ne veut pas forcément dire que c'est un bug.

Citation :

et donc le 17 n'est pas attribué


C'est normal, puisqu'il est en auto-increment

Citation :

Au bout d'un moment c'est folklo si l'on supprime 15 photos 15 numéros d'index disparaissent !


 
Toujours normal, puisqu'il est en auto increment :p
 
C'est juste qu'il voudrait combler les id absents, pour avoir une liste qui se suit.

mood
Publicité
Posté le 08-08-2006 à 17:15:24  profilanswer
 

n°1422383
farib
Posté le 08-08-2006 à 17:18:43  profilanswer
 

Bah il fait un champ "Display Id" [:spamafote]


---------------
Bitcoin, Magical Thinking, and Political Ideology
n°1422386
DarkHope
Posté le 08-08-2006 à 17:20:14  profilanswer
 

Autant virer l'auto increment je pense.

n°1422388
farib
Posté le 08-08-2006 à 17:25:50  profilanswer
 

bah c'est subjectif, perso, j'aime bien toujours avoir un id auto_increment, meme si ca sert a rien.


---------------
Bitcoin, Magical Thinking, and Political Ideology
n°1422397
micfont999
Simplement Moi
Posté le 08-08-2006 à 17:34:01  profilanswer
 

farib a écrit :

bah c'est subjectif, perso, j'aime bien toujours avoir un id auto_increment, meme si ca sert a rien.


 
+1

n°1422424
Gandalf la​ croute
Do it Yourself or Pay !
Posté le 08-08-2006 à 17:57:57  profilanswer
 

ouiai bah je voulais juste avoir un truc propre, vu que je repasse tout le site en revue !  
Bref je ne bug pas j'ai juste un complexe psychotique avoir mes id s'incrémenter à l'arrache ! merci de vos réponses !

n°1422427
micfont999
Simplement Moi
Posté le 08-08-2006 à 18:00:50  profilanswer
 

Mdr ah ok .. bah dans ce cas fait un script qui te remet tous tes id à la suite si ça peux t'aider à mieux dormir cette nuit :)

n°1422428
Gandalf la​ croute
Do it Yourself or Pay !
Posté le 08-08-2006 à 18:05:30  profilanswer
 

micfont999 a écrit :

Mdr ah ok .. bah dans ce cas fait un script qui te remet tous tes id à la suite si ça peux t'aider à mieux dormir cette nuit :)


 :D non la nuit je code, le jour je dors au taf en bon informaticien  :whistle:  
Merci  !

n°1422430
Woutcha
Posté le 08-08-2006 à 18:13:31  profilanswer
 

Gandalf la croute a écrit :

j'ai juste un complexe psychotique avoir mes id s'incrémenter à l'arrache


 
Heu, pour memoire, l'auto-incremente te permet juste de generer de facon artificielle une clef primaire. C'est a dire un moyen d'identifier  
chaque enregistrement de maniere unique dans ta table.
 
En revanche ca ne permet pas d'effectuer un ordonnancement ou d'avoir une plage d'id continue car ce n'est pas fait pour ca!
 
 
 
 

n°1422648
Gandalf la​ croute
Do it Yourself or Pay !
Posté le 09-08-2006 à 08:22:20  profilanswer
 

Woutcha, je le pensais jusqu'a maintenant car au boulot sous ISQL c'est le cas pas sous Mysql ! merci !


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

  Incrementation dans mysql

 

Sujets relatifs
MySQL - Accents dans un champ VARCHAR ?Apache, MySQL PHP 5 et Windows ... petite galère à l'installation
Type de bd MySQL[PHP][MySQL] - Confidentialité utilisateurs
manipulation de date avec MySQLincrémentation
Probleme pour me connecter a mysql sur reseau[PHP/MySQL] Wrappers MySQL - manque d'efficacité?
[MYSQL] Incrémentation comme avec le PHP ou le Cincrémentation auto dans mysql
Plus de sujets relatifs à : Incrementation dans mysql


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