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

 


Dernière réponse
Sujet : mysql: auto_increment
Mara's dad

massanu a écrit a écrit :

ca pose probleme pour moi par exemple
si on fait un systeme de news  
 
et que sur la page des news on fait un lien vers la news suivante, et bien si ta ca
 
1 news1
2 news2
 
4 news4
 
sur la page de la news2 yaura un lien qui pointera vers la 3 et non pas vers la 4 c ca le probleme.
tu voit ce que je veut dire  




 
C'est pas vraiement un problème d'auto-incréméntation çà !
 
Si tu as 4 news 1, 2, 3 et 4, et qua chacunne pointe sur la suivante :
 
Vers quoi pointe la 4 ?
Si tu suprime la 3 tu veux que la base fasse automatiquement pointer la 2 sur la 4, ou que la 4 devienne un 3 automatiquement ?
 
Dans ce dernier cas, que divient un enreg dans une autre table, qui pointait vers la 4 ?
 
L'autoincrémentation t'assure que deux enregs n'ont pas la même valeur sans que tu ais besoin de la caluler, c'est tout.
 
Pour supprimer les trous, la seule solution, c'est de recopier dans une autre table, mais il fait alors penser à faire suivre les relations !

 

[jfdsdjhfuetppo]--Message édité par Mara's dad--[/jfdsdjhfuetppo]


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Mara's dad

massanu a écrit a écrit :

ca pose probleme pour moi par exemple
si on fait un systeme de news  
 
et que sur la page des news on fait un lien vers la news suivante, et bien si ta ca
 
1 news1
2 news2
 
4 news4
 
sur la page de la news2 yaura un lien qui pointera vers la 3 et non pas vers la 4 c ca le probleme.
tu voit ce que je veut dire  




 
C'est pas vraiement un problème d'auto-incréméntation çà !
 
Si tu as 4 news 1, 2, 3 et 4, et qua chacunne pointe sur la suivante :
 
Vers quoi pointe la 4 ?
Si tu suprime la 3 tu veux que la base fasse automatiquement pointer la 2 sur la 4, ou que la 4 devienne un 3 automatiquement ?
 
Dans ce dernier cas, que divient un enreg dans une autre table, qui pointait vers la 4 ?
 
L'autoincrémentation t'assure que deux enregs n'ont pas la même valeur sans que tu ais besoin de la caluler, c'est tout.
 
Pour supprimer les trous, la seule solution, c'est de recopier dans une autre table, mais il fait alors penser à faire suivre les relations !

 

[jfdsdjhfuetppo]--Message édité par Mara's dad--[/jfdsdjhfuetppo]

bjbebert

massanu a écrit a écrit :

jai le meme probleme
ca sincrement par exemple jusqua 5 si je supprime le 5, la prochaine crée sera 6 c bizarre  



C'est bizarre, chez moi c'est l'inverse. Si je supprime le dernier, le compteur revient un cran en arrière.
Ce qui me pose d'ailleurs problème.

Petrus75 Meme soucis :(
 
C pas aussi derangeant chez moi mais j'aurais bien voulu y remedier.
 
Je modifie la valeur des mes id et les retrie a la main, pkoi ca n'efface pas ces "trous"?
Toucouch

massanu a écrit a écrit :

ca pose probleme pour moi par exemple
si on fait un systeme de news  
 
et que sur la page des news on fait un lien vers la news suivante, et bien si ta ca
 
1 news1
2 news2
 
4 news4
 
sur la page de la news2 yaura un lien qui pointera vers la 3 et non pas vers la 4 c ca le probleme.
tu voit ce que je veut dire  




Tu peux modifier ta table et ajouter un colonne "NewsSuivante" ou alors faire un script qui teste tous les numéros jusqu'à en trouver un valide. Ex: Tu te trouves sur la page 3, tu veux la suivante, mais la 4 n'existe plus: Tu lances une requ^ete pour savoir si la page identifiée par le numéro suivant la page courante (4 en l'occurence) existe. Ce n'est pas le cas, donc tu testes la page 5, etc. jusqu'à trouver une page valide (en s'assurant de ne pas ^etre sur la dernière page, bien s^ur! ;) )

Toucouch Il est possible de forcer, lors de la création d'un nouvel enregistrement, la valeur d'un champ en auto_increment. Je ne sais pas quel est l'objectif exact, mais un petit algo tout con peut permettre de détecter les "trous" et éventuellement les remplir, ou alors ne pas utiliser l'option auto_increment et tout faire "à la main".
massanu ca pose probleme pour moi par exemple
si on fait un systeme de news  
 
et que sur la page des news on fait un lien vers la news suivante, et bien si ta ca
 
1 news1
2 news2
 
4 news4
 
sur la page de la news2 yaura un lien qui pointera vers la 3 et non pas vers la 4 c ca le probleme.
tu voit ce que je veut dire
fabriceMerc bon de toute facon cela pose pas de probleme .
skylight

fabriceMerc a écrit a écrit :

mais moi je supprime toutes les entrées dans la base , il y a donc plus de trous mais cela s'incremente quand même!!!!!!  




les trous tu les vois pas, je les ai montré explicitement, mais il n'apparaissent pas, c comme ca que c organisé ds le fichier de ta base de données

fabriceMerc mais moi je supprime toutes les entrées dans la base , il y a donc plus de trous mais cela s'incremente quand même!!!!!!
massanu ouais c assez relou
ya pas une feinte pour detourner ca ?
skylight

massanu a écrit a écrit :

jai le meme probleme
ca sincrement par exemple jusqua 5 si je supprime le 5, la prochaine crée sera 6 c bizarre
 
donc voila
bon topic Fabrice ;)  




 
le principe meme des bases de données de type mysql
 
quand tu supprime  une rangée, en fait ca supprime la rangée, mais l'espace libéré reste. Donc tu aura en quelque sortes un "trou"
 
exemple  
 
1 blabla test
2 blabla toto
3 test toto
4 gnagna hihi
 
 
 
je supprimer la 3
 
on aura donc
 
1 blabla test
2 blabla toto
 
4 gnagna hihi
 
 
le trou de la suppression reste :)
 
si tu rajoute quelque chose, ca sera forcément apres la dernier ligne, donc
 
1 blabla test
2 blabla toto
 
4 gnagna hihi
5 haha toto
 
 
voilà A+

massanu jai le meme probleme
ca sincrement par exemple jusqua 5 si je supprime le 5, la prochaine crée sera 6 c bizarre
 
donc voila
bon topic Fabrice ;)
skylight c'est pas possible si c'est un index
fabriceMerc bon alors le truc c'est que je voudrais savoir comment réinitialiser mon Id ( qui est auto_incrementé ) à 0 .
 
Ca pose problème car lorsque je supprime toutes mes entrées dans la table les Ids continuent à s'incrémenter mais ne reprennent pas à 0.
 
 
Merci les gars!

 

[jfdsdjhfuetppo]--Message édité par fabriceMerc--[/jfdsdjhfuetppo]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)